home *** CD-ROM | disk | FTP | other *** search
/ Aminet 39 / Aminet 39 (2000)(Schatztruhe)[!][Oct 2000].iso / Aminet / disk / misc / Track2File_src.lha / Track2File.asm
Encoding:
Assembly Source File  |  1999-12-06  |  163.0 KB  |  10,162 lines

  1. ****************************************************************************
  2. ***********           Track 2 File V1.22 by Wanted Team          ***********
  3. ***********                Release date 28.10.99.                ***********
  4. ****************************************************************************
  5.  
  6.     include /system.gs
  7.     include 'libraries/gadtools.i'
  8.     include 'libraries/reqtools.i'
  9.     include 'libraries/xfdmaster.i'
  10. ;    include 'misc/devpacmacros.i'
  11.  
  12. ;    OPT o+
  13.  
  14. CP        =    0
  15. GP        =    1
  16. JR        =    2
  17. SA        =    3
  18. SC        =    4
  19. SF        =    5
  20. SP        =    6
  21. SQ        =    7
  22. AM1        =    8
  23. AM2        =    9
  24. LOB        =    10
  25. RLE        =    11
  26. SB        =    12
  27. id89A8        =    13
  28. id89AA        =    14
  29. id89AB        =    15
  30. id89AC        =    16
  31. id89AD        =    17
  32. id9999        =    18
  33. id9AAA        =    19
  34. id9ABB        =    20
  35. id9ACC        =    21
  36. id9ACD        =    22
  37. id18051973    =    23
  38. id0815        =    24
  39. GC        =    25
  40. ACE        =    26
  41. ALC0        =    27
  42. ARP3        =    28
  43. ARPF        =    29
  44. ATM5        =    30
  45. ATN        =    31
  46. ATOM        =    0
  47. Ace?        =    1
  48. ArcD        =    2
  49. ArcR        =    3
  50. arcD        =    4
  51. BDPI        =    5
  52. BH72        =    6
  53. BH73        =    7
  54. BHC3        =    8
  55. BOND        =    9
  56. CHFC        =    10
  57. CHFI        =    11
  58. CMP1        =    12
  59. CrM        =    13
  60. CrM2        =    14
  61. Crm        =    15
  62. Crm2        =    16
  63. CRND        =    17
  64. CRUa        =    18
  65. CRUN        =    19
  66. CSFX        =    20
  67. D815        =    21
  68. DHp2        =    22
  69. DOUG        =    23
  70. Dtpk        =    24
  71. Dupa        =    25
  72. EDAM        =    26
  73. ESL        =    27
  74. FB        =    28
  75. FIRE        =    29
  76. FLT        =    30
  77. FRED        =    31
  78. GC2        =    0
  79. GC3        =    1
  80. GP11        =    2
  81. HAL        =    3
  82. HUF        =    4
  83. ICE        =    5
  84. IFT?        =    6
  85. IMP        =    7
  86. Ice        =    8
  87. KDUB        =    9
  88. LR88        =    10
  89. LSD        =    11
  90. LZDA        =    12
  91. LZSS        =    13
  92. LZWH        =    14
  93. LeCr        =    15
  94. MASM        =    16
  95. MASS        =    17
  96. MD12        =    18
  97. MICK        =    19
  98. MTP1        =    20
  99. MTPS        =    21
  100. MWC1        =    22
  101. PAC1        =    23
  102. PACKV12        =    24
  103. PARA        =    25
  104. PP20        =    26
  105. PaCK        =    27
  106. PaK0        =    28
  107. pack        =    29
  108. RNC0        =    30
  109. RNC1        =    31
  110. RNC2        =    0
  111. S300        =    1
  112. S310        =    2
  113. S400        =    3
  114. S401        =    4
  115. S403        =    5
  116. S404        =    6
  117. SFCD        =    7
  118. SFHD        =    8
  119. SLAM        =    9
  120. SPv3        =    10
  121. SSUR        =    11
  122. TITS        =    12
  123. TPWM        =    13
  124. TSM        =    14
  125. Taz        =    15
  126. VDCO        =    16
  127. VOL1        =    17
  128. ViS1        =    18
  129. ViSL        =    19
  130. Vic2        =    20
  131. WJSD        =    21
  132. XP10        =    22
  133. XPKF        =    23
  134. XPKZ        =    24
  135. XX50        =    25
  136. xVdg        =    26
  137. xXxX        =    27
  138.  
  139. ;    STRUCTURE Variable,0
  140. ;    APTR    _DosBase
  141. ;    ULONG    _IntBase
  142. ;    STRUCT    Buffer,256
  143. ;
  144. ;    LABEL    vars_SIZEOF
  145.  
  146.  
  147. DosBase        =    0*4
  148. IntBase        =    1*4
  149. GrfxBase    =    2*4
  150. GadBase        =    3*4
  151. ReqBase        =    4*4
  152. XfdBase        =    5*4
  153. Windows        =    6*4
  154. WindowPrefs    =    7*4
  155. FileReqL    =    8*4
  156. FileReqS    =    9*4
  157. FileList    =    10*4
  158. FileListReq    =    11*4
  159. FileListAdd    =    12*4
  160. OriginalSize    =    13*4
  161. PackedSize    =    14*4
  162. StartFileID    =    15*4
  163. EndFile        =    16*4
  164. AllocStart    =    17*4
  165. AllocEnd    =    18*4
  166. AllocLength    =    19*4
  167. FileHandles    =    20*4
  168. LockZap        =    21*4
  169. Scrl        =    22*4
  170. ErrorTrack    =    23*4
  171. SizeVar        =    24*4
  172. Scr        =    25*4
  173. Visual        =    26*4
  174. IncVar        =    27*4
  175. DecrVar        =    28*4
  176. SkipVar        =    29*4
  177. SetNameZero    =    30*4
  178. DriveNum    =    31*4
  179. DriveNum2    =    32*4
  180. DisplayID    =    33*4
  181. AboutPacker    =    34*4
  182. Enable1        =    35*4
  183. Enable2        =    36*4
  184. Enable3        =    37*4
  185. Enable4        =    38*4
  186. Enable5        =    39*4
  187. IncFileName    =    40*4
  188. DecrFile    =    41*4
  189. SkipFile    =    42*4
  190. DeepSearch    =    43*4
  191. FormatNumbers    =    44*4
  192. DriveNumbers    =    44*4+2
  193. RNC_old        =    45*4
  194. Reserved    =    46*4
  195. Reserved2    =    47*4
  196. DeepVar        =    47*4+2
  197. DiskVar        =    48*4+2
  198. StartFileID2    =    49*4+2
  199. DecrError    =    50*4+2
  200. NextID        =    51*4+2
  201. IncCancel    =    52*4+2
  202. DecrCancel    =    53*4+2
  203. SkipCancel    =    54*4+2
  204. DeepCancel    =    55*4+2
  205. DriveCancel    =    56*4+2
  206. WindowLock    =    57*4+2
  207. BufTextNames    =    58*4+2
  208. BufTextNodes    =    59*4+2
  209. FormatNum    =    60*4+2
  210. FormatCancel    =    61*4+2
  211. RNCCancel    =    62*4+2
  212. BufOldRNC    =    63*4+2
  213.  
  214. Exec        =    4
  215.  
  216. ;exec.library
  217. Forbid        =    -132
  218. Permit        =    -138
  219. AllocMem    =    -198
  220. FreeMem        =    -210
  221. AvailMem    =    -216
  222. FindTask    =    -294
  223. AddPort        =    -354
  224. RemPort        =    -360
  225. GetMsg        =    -372
  226. ReplyMsg    =    -378
  227. WaitPort    =    -384
  228. CloseLibrary    =    -414
  229. SetFunction    =    -420
  230. OpenDevice    =    -444
  231. CloseDevice    =    -450
  232. DoIO        =    -456
  233. OpenResource    =    -498
  234. RawDoFmt    =    -522
  235. OpenLibrary    =    -552
  236. OpenWindowTagList=    -606
  237. OpenScreenTagList=    -612
  238.  
  239. ;dos.library
  240. Open        =    -30
  241. Close        =    -36
  242. Read        =    -42
  243. Write        =    -48
  244. Lock        =    -84
  245. UnLock        =    -90
  246. Examine        =    -102
  247. IoErr        =    -132
  248. SetComment    =    -180
  249. SetIoErr    =    -462
  250. Fault        =    -468
  251. PrintFault    =    -474
  252.  
  253. ;intuition.library
  254. ClearPointer    =    -60
  255. CloseWindow    =    -72
  256. DisplayAlert    =    -90
  257. ModifyIDCMP    =    -150
  258. OffGadget    =    -174
  259. OnGadget    =    -186
  260. OpenWindow    =    -204
  261. SetWindowTitles    =    -276
  262. ActivateGadget    =    -462
  263. LockPubScreen    =    -510
  264. UnlockPubScreen    =    -516
  265. EasyRequestArgs    =    -588
  266.  
  267. ;graphics.library
  268. Text        =    -60
  269. SetFont        =    -66
  270. OpenFont    =    -72
  271. Move        =    -240
  272. Draw        =    -246
  273. RectFill    =    -306
  274. SetAPen        =    -342
  275. SetBPen        =    -348
  276. SetDrMd        =    -354
  277. ScrollRaster    =    -396
  278.  
  279. ;gadtools.library
  280. CreateGadgets    =    -30
  281. FreeGadgets    =    -36
  282. GT_SetGadgetAttrsA=    -42
  283. GT_GetIMsg    =    -72
  284. GT_ReplyIMsg    =    -78
  285. GT_RefreshWindow=    -84
  286. GT_BeginRefresh    =    -90
  287. GT_EndRefresh    =    -96
  288. CreateContext    =    -114
  289. DrawBevelBoxA    =    -120
  290. GetVisualInfoA    =    -126
  291. FreeVisualInfo    =    -132
  292.  
  293. ;reqtools.library
  294. rtAllocRequestA    =    -30
  295. rtFreeRequest    =    -36
  296. rtChangeReqAttrA=    -48
  297. rtFileRequestA    =    -54
  298. rtFreeFileList    =    -60
  299. rtEZRequestA    =    -66
  300. rtGetStringA    =    -72
  301. rtSetWaitPointer=    -114
  302. rtLockWindow    =    -156
  303. rtUnlockWindow    =    -162
  304.  
  305. ;xfdmaster.library
  306. xfdAllocBufferInfo=    -30
  307. xfdFreeBufferInfo=    -36
  308. xfdRecogBuffer    =    -54
  309. xfdDecrunchBuffer=    -60
  310. xfdGetErrorText    =    -78
  311. xfdAllocObject    =    -114
  312. xfdFreeObject    =    -120
  313. xfdScanData    =    -138
  314. xfdFreeScanList    =    -144
  315. xfdInitScanHook    =    -156
  316.  
  317. WindowRastPort    =    $32
  318. IDCMP        =    $56
  319.  
  320. GadWidth    =    100
  321. GadHeight    =    24
  322. GadNaStyk    =    20
  323. GadLeftEdge    =    (640-(GadWidth*5)-(4*GadNaStyk))/2
  324. GadTopEdge    =    31
  325.  
  326.     Section Main_Code,Code
  327.  
  328.     bra.b    Run
  329.  
  330.     dc.b    '$VER: Track2File V1.22 beta Release date 27.10.99.',0
  331.     CNOP 0,2
  332.  
  333. Run:
  334.     movem.l    d0/a0,-(sp)        save initial values
  335.     lea    returnMsg(pc),a1
  336.     clr.l    (a1)
  337.  
  338.     sub.l    a1,a1
  339.     move.l    Exec.w,a6
  340.     jsr    FindTask(a6)        find us
  341.     move.l    d0,a4
  342.  
  343.     tst.l    pr_CLI(a4)
  344.     beq.s    fromWorkbench
  345.  
  346. * we were called from the CLI
  347.     movem.l    (sp)+,d0/a0        restore regs
  348.     bra.s    end_startup        and run the user prog
  349.  
  350. * we were called from the Workbench
  351.  
  352. fromWorkbench
  353.     lea    pr_MsgPort(a4),a0
  354.     move.l    Exec.w,a6
  355.     jsr    WaitPort(a6)        wait for a message
  356.  
  357.     lea    pr_MsgPort(a4),a0
  358.     move.l    Exec.w,a6
  359.     jsr    GetMsg(a6)        then get it
  360.     move.l    d0,returnMsg        save it for later reply
  361.  
  362. * do some other stuff here like the command line etc
  363.  
  364.     movem.l    (sp)+,d0/a0        restore
  365. end_startup
  366.     bsr.s    _main            call our program
  367.  
  368. * returns to here with exit code in d0
  369.     move.l    d0,-(sp)        save it
  370.  
  371.     tst.l    returnMsg
  372.     beq.s    exitToDOS        if I was a CLI
  373.  
  374.     move.l    Exec.w,a6
  375.     jsr    Forbid(a6)
  376.  
  377.     move.l    returnMsg(pc),a1
  378.     move.l    Exec.w,a6
  379.     jsr    ReplyMsg(a6)
  380.  
  381. exitToDOS
  382.     move.l    (sp)+,d0        exit code
  383.     rts
  384.  
  385. * startup code variable
  386.  
  387. returnMsg    dc.l    0
  388.  
  389. _main
  390.  
  391.     lea    Variables(pc),a5
  392.  
  393. ;otwarcie dos.library
  394.  
  395.     moveq    #0,d0
  396.     lea    DosName(pc),a1
  397.     move.l    Exec.w,a6
  398.     jsr    OpenLibrary(a6)
  399.     move.l    d0,DosBase(a5)
  400.     beq.w    ErrorOpenDos
  401.  
  402. ;otwarcie intuition.library
  403.  
  404.     moveq    #0,d0
  405.     lea    IntName(pc),a1
  406.     move.l    Exec.w,a6
  407.     jsr    OpenLibrary(a6)
  408.     move.l    d0,IntBase(a5)
  409.     beq.w    ErrorOpenInt
  410.  
  411. ;otwarcie graphics.library
  412.  
  413.     moveq    #0,d0
  414.     lea    GfxName(pc),a1
  415.     move.l    Exec.w,a6
  416.     jsr    OpenLibrary(a6)
  417.     move.l    d0,GrfxBase(a5)
  418.     beq.w    ErrorOpenGfx
  419.  
  420. ; nowa funkcja Text z graphics.library
  421.  
  422. ;    bsr.w    SetFunc
  423.  
  424. ;otwarcie gadtools.library
  425.  
  426.     moveq    #37,d0        ;wersja 37
  427.     lea    GadName(pc),a1
  428.     move.l    Exec.w,a6
  429.     jsr    OpenLibrary(a6)
  430.     move.l    d0,GadBase(a5)
  431.     beq.w    DisplayAlertGad
  432.  
  433. ;otwarcie reqtools.library
  434.  
  435.     moveq    #38,d0        ;wersja 38
  436.     lea    ReqName(pc),a1
  437.     move.l    Exec.w,a6
  438.     jsr    OpenLibrary(a6)
  439.     move.l    d0,ReqBase(a5)
  440.     beq.w    DisplayAlertReq
  441.  
  442. ;otwarcie xfdmaster.library
  443.  
  444.     moveq    #37,d0        ;wersja 37
  445.     lea    XfdName(pc),a1
  446.     move.l    Exec.w,a6
  447.     jsr    OpenLibrary(a6)
  448.     move.l    d0,XfdBase(a5)
  449.     beq.w    DisplayAlertXfd
  450.  
  451. ;allokacja pamieci na bufor tekstu
  452.  
  453.     move.l    #(200*14)+(200*100),d0
  454.     move.l    #$10001,d1    ;Public i Clear
  455.     move.l    Exec.w,a6
  456.     jsr    AllocMem(a6)
  457.     move.l    d0,BufTextNodes(A5)
  458.     beq.w    ErrorAllocBufText
  459.     move.l    d0,a0
  460.     lea    200*14(a0),a0
  461.     move.l    a0,BufTextNames(A5)
  462.     lea    ID_List2(pc),a0
  463.     move.l    d0,(a0)
  464.     move.l    d0,8(a0)
  465.  
  466. ;przydzielenie struktury dla file requesterow
  467.  
  468.     moveq    #0,d0
  469.     sub.l    a0,a0
  470.     move.l    ReqBase(a5),a6
  471.     jsr    rtAllocRequestA(a6)
  472.     move.l    d0,FileReqL(a5)
  473.     beq.w    ErrorAllocReqL
  474.  
  475.     moveq    #0,d0
  476.     sub.l    a0,a0
  477.     move.l    ReqBase(a5),a6
  478.     jsr    rtAllocRequestA(a6)
  479.     move.l    d0,FileReqS(a5)
  480.     beq.w    ErrorAllocReqS
  481.  
  482. ;otwarcie TrackDisk.device - dodanie tasku do systemu
  483.  
  484.     sub.l    a1,a1            ; task name
  485.     move.l    Exec.w,a6
  486.     jsr    FindTask(a6)
  487.  
  488.     lea    DiskRep(pc),a1        ; port address
  489.     move.l    d0,16(a1)        ; task address
  490.     move.l    Exec.w,a6
  491.     jsr    AddPort(a6)
  492.  
  493. ;Public Screen
  494.  
  495.     sub.l    a0,a0            ; screen name
  496.     move.l    IntBase(a5),a6
  497.     jsr    LockPubScreen(a6)
  498.     move.l    d0,Scr(a5)        ; screen ptr
  499.     beq.w    ErrorPubScreen
  500.  
  501. ;Get Visual Info
  502.  
  503.     move.l    d0,a0            ; screen
  504.     sub.l    a1,a1            ; tag list
  505.     move.l    GadBase(a5),a6
  506.     jsr    GetVisualInfoA(a6)
  507.     move.l    d0,Visual(a5)
  508.     beq.w    ErrorVisual
  509.  
  510.     lea    Visual1(pc),a0
  511.     move.l    d0,(a0)
  512.     lea    Visual2(pc),a0
  513.     move.l    d0,(a0)
  514.     lea    Visual3(pc),a0
  515.     move.l    d0,(a0)
  516.     lea    Visual4(pc),a0
  517.     move.l    d0,(a0)
  518.     lea    Visual5(pc),a0
  519.     move.l    d0,(a0)
  520.     lea    Visual6(pc),a0
  521.     move.l    d0,(a0)
  522.     lea    Visual7(pc),a0
  523.     move.l    d0,(a0)
  524.     lea    Visual8(pc),a0
  525.     move.l    d0,(a0)
  526.     lea    Visual9(pc),a0
  527.     move.l    d0,(a0)
  528.     lea    Visual10(pc),a0
  529.     move.l    d0,(a0)
  530.     lea    Visual11(pc),a0
  531.     move.l    d0,(a0)
  532.     lea    Visual12(pc),a0
  533.     move.l    d0,(a0)
  534.     lea    Visual13(pc),a0
  535.     move.l    d0,(a0)
  536.     lea    Visual14(pc),a0
  537.     move.l    d0,(a0)
  538.     lea    Visual15(pc),a0
  539.     move.l    d0,(a0)
  540.     lea    Visual16(pc),a0
  541.     move.l    d0,(a0)
  542.     lea    Visual17(pc),a0
  543.     move.l    d0,(a0)
  544.     lea    Visual18(pc),a0
  545.     move.l    d0,(a0)
  546.     lea    Visual19(pc),a0
  547.     move.l    d0,(a0)
  548.     lea    Visual20(pc),a0
  549.     move.l    d0,(a0)
  550.     lea    Visual21(pc),a0
  551.     move.l    d0,(a0)
  552.     lea    Visual22(pc),a0
  553.     move.l    d0,(a0)
  554.  
  555. ;Create Context
  556.  
  557.     lea    Glist(pc),a0
  558.     move.l    GadBase(a5),a6
  559.     jsr    CreateContext(a6)
  560.     lea    Gadget1(pc),a0
  561.     move.l    d0,(a0)
  562.     beq.w    ErrorContext
  563.  
  564. ;Create Gadget Disk Read
  565.  
  566.     move.l    d0,a0
  567.     moveq    #BUTTON_KIND,d0
  568.     lea    DiskReadGad(pc),a1
  569.     lea    TagListButton(pc),a2
  570.     jsr    CreateGadgets(a6)
  571.     lea    Gadget2(pc),a0
  572.     move.l    d0,(a0)
  573.     beq.w    ErrorCreateGad
  574.  
  575. ;Create Gadget Load File
  576.  
  577.     move.l    d0,a0
  578.     moveq    #BUTTON_KIND,d0
  579.     lea    LoadFileGad(pc),a1
  580.     lea    TagListButton(pc),a2
  581.     jsr    CreateGadgets(a6)
  582.     lea    Gadget3(pc),a0
  583.     move.l    d0,(a0)
  584.     beq.w    ErrorCreateGad
  585.  
  586. ;Create Gadget Search
  587.  
  588.     move.l    d0,a0
  589.     moveq    #BUTTON_KIND,d0
  590.     lea    SearchGad(pc),a1
  591.     lea    TagListButton(pc),a2
  592.     jsr    CreateGadgets(a6)
  593.     lea    Gadget4(pc),a0
  594.     move.l    d0,(a0)
  595.     beq.w    ErrorCreateGad
  596.  
  597. ;Create Gadget Prefs
  598.  
  599.     move.l    d0,a0
  600.     moveq    #BUTTON_KIND,d0
  601.     lea    PrefsGad(pc),a1
  602.     lea    TagListButton(pc),a2
  603.     jsr    CreateGadgets(a6)
  604.     lea    Gadget5(pc),a0
  605.     move.l    d0,(a0)
  606.     beq.w    ErrorCreateGad
  607.  
  608. ;Create Gadget About
  609.  
  610.     move.l    d0,a0
  611.     moveq    #BUTTON_KIND,d0
  612.     lea    AboutsGad(pc),a1
  613.     lea    TagListButton(pc),a2
  614.     jsr    CreateGadgets(a6)
  615.     lea    Gadget6(pc),a0
  616.     move.l    d0,(a0)
  617.     beq.w    ErrorCreateGad
  618.  
  619. ;czy NTSC
  620.  
  621.     move.l    GrfxBase(a5),a0
  622.     cmpi.w    #200,$d8(a0)
  623.     bgt.b    ScreenPAL
  624.  
  625.     lea    WinHei(pc),a0
  626.     move.l    #189,(a0)
  627.     lea    Box1(pc),a0
  628.     move.l    #108,2(a0)
  629.     lea    Box2(pc),a0
  630.     move.l    #106,2(a0)
  631.     lea    Niedodaj(pc),a0
  632.     move.l    #11,2(a0)
  633.     lea    Niedo(pc),a0
  634.     move.l    #11,2(a0)
  635.     lea    StatusGad(pc),a0
  636.     move.w    #107,6(a0)
  637.  
  638. ScreenPAL:
  639.  
  640. ;Create Gadget Status Window
  641.  
  642.     move.l    d0,a0
  643.     moveq    #LISTVIEW_KIND,d0
  644.     lea    StatusGad(pc),a1
  645.     lea    TagListView2(pc),a2
  646.     jsr    CreateGadgets(a6)
  647.     lea    Gadget7(pc),a0
  648.     move.l    d0,(a0)
  649.     beq.w    ErrorCreateGad
  650.  
  651. ;otarcie New Window
  652.  
  653.     sub.l    a0,a0
  654.     lea    WindowTags(pc),a1
  655.     move.l    IntBase(a5),a6
  656.     jsr    OpenWindowTagList(a6)
  657.     move.l    d0,Windows(a5)
  658.     beq.w    ErrorOpenWindow
  659.  
  660.     lea    WindowLoad(pc),a0
  661.     move.l    d0,(a0)
  662.     lea    WindowSave(pc),a0
  663.     move.l    d0,(a0)
  664.     lea    WindowAbout(pc),a0
  665.     move.l    d0,(a0)
  666.     lea    WindowCont(pc),a0
  667.     move.l    d0,(a0)
  668.     lea    WindowCont2(pc),a0
  669.     move.l    d0,(a0)
  670.  
  671. ;ustawienie fontow Topaz 8
  672.  
  673.     lea    Font(pc),a0
  674.     move.l    GrfxBase(a5),a6
  675.     jsr    OpenFont(a6)
  676.  
  677.     move.l    d0,a0
  678.     move.l    Windows(a5),a1
  679.     move.l    WindowRastPort(a1),a1
  680.     jsr    SetFont(a6)
  681.  
  682. ***************************************************************************
  683.  
  684.     bsr.w    Box
  685.  
  686. ;odswiezenie okna
  687.  
  688.     move.l    Windows(a5),a0
  689.     sub.l    a1,a1
  690.     move.l    GadBase(a5),a6
  691.     jsr    GT_RefreshWindow(a6)
  692.  
  693. ***************************************************************************
  694.  
  695. ;loading preferences
  696.  
  697.     moveq    #50,d0
  698.     move.l    #$10001,d1    ;Public i Clear
  699.     move.l    Exec.w,a6
  700.     jsr    AllocMem(a6)
  701.     move.l    d0,a4
  702.     beq.w    ErrorLoadPrefs
  703.  
  704.     lea    PrefsName(pc),a0
  705.     move.l    a0,d1
  706.     move.l    #1005,d2
  707.     move.l    DosBase(a5),a6
  708.     jsr    Open(a6)
  709.     move.l    d0,FileHandles(a5)
  710.     beq.w    ErrorLoadPrefs
  711.  
  712.     move.l    d0,d1
  713.     move.l    a4,d2            ; adres przydzielonej pamieci na prefsy
  714.     moveq    #50,d3
  715.     jsr    Read(a6)
  716.  
  717.     tst.l    d0
  718.     beq.w    ErrorLoadPrefs
  719.     move.l    d0,d7
  720.  
  721.     move.l    FileHandles(a5),d1
  722.     jsr    Close(a6)
  723.  
  724.     tst.l    d0
  725.     beq.w    ErrorLoadPrefs
  726.  
  727.     cmpi.l    #32,d7
  728.     bne.w    PrefsOk
  729.  
  730.     move.l    (a4),Enable1(a5)
  731.     move.l    4(a4),Enable2(a5)
  732.     move.l    8(a4),Enable3(a5)
  733.     move.l    12(a4),IncFileName(a5)
  734.     move.l    16(a4),DecrFile(a5)
  735.     move.l    20(a4),SkipFile(a5)
  736.     move.l    24(a4),DeepSearch(a5)
  737.     move.w    28(a4),FormatNumbers(a5)
  738.     move.w    30(a4),DriveNumbers(a5)
  739.  
  740.     bra.w    Main_3
  741. PrefsOk
  742.     moveq    #0,d7
  743.     lea    EnableID(pc),a0
  744.     lea    (a4),a1            ; adres prefsow
  745.     move.l    (a1)+,d0        ; ustawione bity IDow
  746. Loops4:
  747.     tst.l    (a0)            ; czy koniec tekstu z IDami
  748.     beq.b    Main_2
  749.     move.l    (a0),a2            ; adres tekstu z IDem
  750.     cmpi.b    #32,d7            ; czy ostatni bit
  751.     bne.b    NoOver4
  752.     moveq    #0,d7
  753.     move.l    (a1)+,d0        ; nastepne ust. bity
  754. NoOver4:
  755.     btst    d7,d0
  756.     beq.b    NoDisable5
  757.     move.b    #'D',(a2)
  758.     bra.b    NoDisable6
  759. NoDisable5:
  760.     move.b    #' ',(a2)
  761. NoDisable6:
  762.     addq.b    #1,d7
  763.     addq.l    #4,a0
  764.     bra.b    Loops4
  765.  
  766. ErrorLoadPrefs:
  767.     lea    ErrorLoadPrefsText(pc),a0
  768.     bsr.w    PrintStatus
  769.  
  770. Main_2:
  771.     move.l    (a4),Enable1(a5)
  772.     move.l    4(a4),Enable2(a5)
  773.     move.l    8(a4),Enable3(a5)
  774.     move.l    12(a4),Enable4(a5)
  775.     move.l    16(a4),Enable5(a5)
  776.     move.l    20(a4),IncFileName(a5)
  777.     move.l    24(a4),DecrFile(a5)
  778.     move.l    28(a4),SkipFile(a5)
  779.     move.l    32(a4),DeepSearch(a5)
  780.     move.w    36(a4),FormatNumbers(a5)
  781.     move.w    38(a4),DriveNumbers(a5)
  782.     move.l    40(a4),RNC_old(a5)
  783. Main_3
  784.     move.l    IncFileName(a5),IncVar(a5)
  785.     lea    Inc(pc),a0
  786.     move.l    IncFileName(a5),(a0)
  787.     lea    IncCheck(pc),a0
  788.     move.l    IncFileName(a5),(a0)
  789.     move.l    DecrFile(a5),DecrVar(a5)
  790.     lea    Decr(pc),a0
  791.     move.l    DecrFile(a5),(a0)
  792.     lea    DecrCheck(pc),a0
  793.     move.l    DecrFile(a5),(a0)
  794.     move.l    SkipFile(a5),SkipVar(a5)
  795.     lea    Skip(pc),a0
  796.     move.l    SkipFile(a5),(a0)
  797.     lea    SkipCheck(pc),a0
  798.     move.l    SkipFile(a5),(a0)
  799.     move.l    DeepSearch(a5),DeepVar(a5)
  800.     lea    Dee(pc),a0
  801.     move.l    DeepSearch(a5),(a0)
  802.     lea    DeepCheck(pc),a0
  803.     move.l    DeepSearch(a5),(a0)
  804.     lea    RNC_(pc),a0
  805.     move.l    RNC_old(a5),(a0)
  806.     lea    RNCCheck(pc),a0
  807.     move.l    RNC_old(a5),(a0)
  808.  
  809.     move.w    FormatNumbers(a5),FormatNum+2(a5)
  810.     lea    Format+2(pc),a0
  811.     move.w    FormatNumbers(a5),(a0)
  812.     lea    FormatActive+2(pc),a0
  813.     move.w    FormatNumbers(a5),(a0)
  814.  
  815.     move.w    DriveNumbers(a5),DriveNum+2(a5)
  816.     lea    Drv+2(pc),a0
  817.     move.w    DriveNumbers(a5),(a0)
  818.     lea    DriveActive+2(pc),a0
  819.     move.w    DriveNumbers(a5),(a0)
  820.  
  821.     move.l    a4,a1
  822.     moveq    #50,d0
  823.     move.l    Exec.w,a6
  824.     jsr    FreeMem(a6)
  825.  
  826. ;Create Context2
  827.  
  828.     lea    Glist2(pc),a0
  829.     move.l    GadBase(a5),a6
  830.     jsr    CreateContext(a6)
  831.     lea    GadgetPref1(pc),a0
  832.     move.l    d0,(a0)
  833.     beq.w    ErrorContext
  834.  
  835. ;Create Gadget Pref Cycle
  836.  
  837.     move.l    d0,a0
  838.     moveq    #CYCLE_KIND,d0
  839.     lea    CycleGad(pc),a1
  840.     lea    TagListCycle(pc),a2
  841.     jsr    CreateGadgets(a6)
  842.     lea    GadgetPref2(pc),a0
  843.     move.l    d0,(a0)
  844.     beq.w    ErrorCreateGad
  845.  
  846. ;Create Gadget CheckBox
  847.  
  848.     move.l    d0,a0
  849.     moveq    #CHECKBOX_KIND,d0
  850.     lea    ChBoxGad(pc),a1
  851.     lea    TagListChBox(pc),a2
  852.     jsr    CreateGadgets(a6)
  853.     lea    GadgetPref3(pc),a0
  854.     move.l    d0,(a0)
  855.     beq.w    ErrorCreateGad
  856.  
  857. ;Create Gadget CheckBox2
  858.  
  859.     move.l    d0,a0
  860.     moveq    #CHECKBOX_KIND,d0
  861.     lea    ChBoxGad2(pc),a1
  862.     lea    TagListChBox2(pc),a2
  863.     jsr    CreateGadgets(a6)
  864.     lea    GadgetPref4(pc),a0
  865.     move.l    d0,(a0)
  866.     beq.w    ErrorCreateGad
  867.  
  868. ;Create Gadget CheckBox3
  869.  
  870.     move.l    d0,a0
  871.     moveq    #CHECKBOX_KIND,d0
  872.     lea    ChBoxGad3(pc),a1
  873.     lea    TagListChBox3(pc),a2
  874.     jsr    CreateGadgets(a6)
  875.     lea    GadgetPref5(pc),a0
  876.     move.l    d0,(a0)
  877.     beq.w    ErrorCreateGad
  878.  
  879. ;Create Gadget CheckBox4
  880.  
  881.     move.l    d0,a0
  882.     moveq    #CHECKBOX_KIND,d0
  883.     lea    ChBoxGad4(pc),a1
  884.     lea    TagListChBox4(pc),a2
  885.     jsr    CreateGadgets(a6)
  886.     lea    GadgetPrefA(pc),a0
  887.     move.l    d0,(a0)
  888.     beq.w    ErrorCreateGad
  889.  
  890. ;Create Gadget CheckBox5
  891.  
  892.     move.l    d0,a0
  893.     moveq    #CHECKBOX_KIND,d0
  894.     lea    ChBoxGad5(pc),a1
  895.     lea    TagListChBox5(pc),a2
  896.     jsr    CreateGadgets(a6)
  897.     lea    GadgetPrefF(pc),a0
  898.     move.l    d0,(a0)
  899.     beq.w    ErrorCreateGad
  900.  
  901. ;Create Gadget Save
  902.  
  903.     move.l    d0,a0
  904.     moveq    #BUTTON_KIND,d0
  905.     lea    SaveGad(pc),a1
  906.     lea    TagListButton(pc),a2
  907.     jsr    CreateGadgets(a6)
  908.     lea    GadgetPref6(pc),a0
  909.     move.l    d0,(a0)
  910.     beq.w    ErrorCreateGad
  911.  
  912. ;Create Gadget Use
  913.  
  914.     move.l    d0,a0
  915.     moveq    #BUTTON_KIND,d0
  916.     lea    UseGad(pc),a1
  917.     lea    TagListButton(pc),a2
  918.     jsr    CreateGadgets(a6)
  919.     lea    GadgetPref7(pc),a0
  920.     move.l    d0,(a0)
  921.     beq.w    ErrorCreateGad
  922.  
  923. ;Create Gadget Cancel
  924.  
  925.     move.l    d0,a0
  926.     moveq    #BUTTON_KIND,d0
  927.     lea    CancelGad(pc),a1
  928.     lea    TagListButton(pc),a2
  929.     jsr    CreateGadgets(a6)
  930.     lea    GadgetPref8(pc),a0
  931.     move.l    d0,(a0)
  932.     beq.w    ErrorCreateGad
  933.  
  934. ;Create Gadget Invert
  935.  
  936.     move.l    d0,a0
  937.     moveq    #BUTTON_KIND,d0
  938.     lea    InvertGad(pc),a1
  939.     lea    TagListButton(pc),a2
  940.     jsr    CreateGadgets(a6)
  941.     lea    GadgetPrefB(pc),a0
  942.     move.l    d0,(a0)
  943.     beq.w    ErrorCreateGad
  944.  
  945. ;Create Gadget Clear
  946.  
  947.     move.l    d0,a0
  948.     moveq    #BUTTON_KIND,d0
  949.     lea    ClearGad(pc),a1
  950.     lea    TagListButton(pc),a2
  951.     jsr    CreateGadgets(a6)
  952.     lea    GadgetPrefC(pc),a0
  953.     move.l    d0,(a0)
  954.     beq.w    ErrorCreateGad
  955.  
  956. ;Create Gadget Image
  957.  
  958.     move.l    d0,a0
  959.     moveq    #BUTTON_KIND,d0
  960.     lea    ImageGad(pc),a1
  961.     lea    TagListButton(pc),a2
  962.     jsr    CreateGadgets(a6)
  963.     lea    GadgetPrefD(pc),a0
  964.     move.l    d0,(a0)
  965.     beq.w    ErrorCreateGad
  966.  
  967. ;Create Gadget Enable/Disable
  968.  
  969.     move.l    d0,a0
  970.     moveq    #LISTVIEW_KIND,d0
  971.     lea    ListViewGad(pc),a1
  972.     lea    TagListView(pc),a2
  973.     jsr    CreateGadgets(a6)
  974.     lea    GadgetPref9(pc),a0
  975.     move.l    d0,(a0)
  976.     beq.w    ErrorCreateGad
  977.  
  978. ;Create Gadget Pref Cycle2
  979.  
  980.     move.l    d0,a0
  981.     moveq    #CYCLE_KIND,d0
  982.     lea    CycleGadE(pc),a1
  983.     lea    TagListCycleE(pc),a2
  984.     jsr    CreateGadgets(a6)
  985.     lea    GadgetPrefE(pc),a0
  986.     move.l    d0,(a0)
  987.     beq.w    ErrorCreateGad
  988.  
  989. ***************************************************************************
  990.  
  991. ;glowny program
  992.  
  993. Main:
  994.     move.l    Windows(a5),a0
  995.     move.l    IDCMP(a0),a0
  996.     move.l    Exec.w,a6
  997.     jsr    WaitPort(a6)
  998.  
  999.     move.l    Windows(a5),a0
  1000.     move.l    IDCMP(a0),a0
  1001.     move.l    GadBase(a5),a6
  1002.     jsr    GT_GetIMsg(a6)
  1003.  
  1004.     tst.l    d0
  1005.     beq.b    Main
  1006.  
  1007.     move.l    d0,a1
  1008.     move.l    $14(a1),d5            ; Class
  1009.     move.w    $18(a1),d6            ; Code
  1010. ;    move.w    $1a(a1),d7            ; Qualifier
  1011.     move.l    $1c(a1),a4            ; IAddress
  1012.     jsr    GT_ReplyIMsg(a6)
  1013.  
  1014.     cmpi.l    #IDCMP_CLOSEWINDOW,d5
  1015.     beq.w    Quit
  1016.  
  1017.     cmpi.l    #IDCMP_GADGETUP,d5
  1018.     bne.b    Keys
  1019.  
  1020.     move.w    $26(a4),d0
  1021.  
  1022.     cmpi.w    #1,d0
  1023.     beq.w    ReadDisk
  1024.  
  1025.     cmpi.w    #2,d0
  1026.     beq.w    LoadFile
  1027.  
  1028.     cmpi.w    #3,d0
  1029.     beq.w    Searching
  1030.  
  1031.     cmpi.w    #4,d0
  1032.     beq.w    Prefs
  1033.  
  1034.     cmpi.w    #5,d0
  1035.     beq.w    About
  1036.  
  1037.     bra.b    Main
  1038. Keys:
  1039.     cmpi.l    #IDCMP_VANILLAKEY,d5
  1040.     bne.b    Size
  1041.  
  1042.     cmpi.w    #27,d6
  1043.     beq.w    Quit
  1044.  
  1045.     cmpi.w    #'r',d6
  1046.     beq.w    ReadDisk
  1047.  
  1048.     cmpi.w    #'l',d6
  1049.     beq.w    LoadFile
  1050.  
  1051.     cmpi.w    #'s',d6
  1052.     beq.w    Searching
  1053.  
  1054.     cmpi.w    #'p',d6
  1055.     beq.w    Prefs
  1056.  
  1057.     cmpi.w    #'a',d6
  1058.     beq.w    About
  1059.  
  1060.     bra.w    Main
  1061. Size:
  1062.     cmpi.l    #IDCMP_NEWSIZE,d5
  1063.     beq.b    NewSize
  1064.  
  1065.     bra.w    Main
  1066.  
  1067. NewSize:
  1068.     bsr.b    Size2
  1069.  
  1070.     bra.w    Main
  1071.  
  1072. Size2:
  1073.     not.l    SizeVar(a5)
  1074.  
  1075.     tst.l    SizeVar(a5)
  1076.     bne.b    NoSize
  1077.  
  1078.     bsr.w    Box
  1079.  
  1080.     move.l    Windows(a5),a0
  1081.     sub.l    a1,a1
  1082.     move.l    GadBase(a5),a6
  1083.     jsr    GT_RefreshWindow(a6)
  1084.  
  1085.     clr.l    Scrl(a5)
  1086. NoSize:
  1087.     rts
  1088.  
  1089. ***************************************************************************
  1090.  
  1091. Quit:
  1092.     tst.l    FileList(a5)
  1093.     beq.b    NotFree2
  1094.  
  1095.     move.l    FileList(a5),a0
  1096.     move.l    ReqBase(a5),a6
  1097.     jsr    rtFreeFileList(a6)
  1098.  
  1099.     clr.l    FileList(a5)
  1100.  
  1101. NotFree2:
  1102.     bsr.w    FreeMemory
  1103.  
  1104.     move.l    Windows(a5),a0
  1105.     move.l    IntBase(a5),a6
  1106.     jsr    CloseWindow(a6)
  1107.  
  1108. ErrorOpenWindow:
  1109.  
  1110. ErrorCreateGad:
  1111.  
  1112.     move.l    GadgetPref1(pc),a0
  1113.     move.l    GadBase(a5),a6
  1114.     jsr    FreeGadgets(a6)
  1115.  
  1116.     move.l    Gadget1(pc),a0
  1117.     jsr    FreeGadgets(a6)
  1118.  
  1119. ErrorContext:
  1120.     move.l    Visual(a5),a0
  1121.     move.l    GadBase(a5),a6
  1122.     jsr    FreeVisualInfo(a6)
  1123.  
  1124. ErrorVisual:
  1125.     sub.l    a0,a0
  1126.     move.l    Scr(a5),a1
  1127.     move.l    IntBase(a5),a6
  1128.     jsr    UnlockPubScreen(a6)
  1129.  
  1130. ErrorPubScreen:
  1131.     lea    DiskRep(pc),a1
  1132.     move.l    Exec.w,a6
  1133.     jsr    RemPort(a6)
  1134.  
  1135. ErrorOpenTrack:
  1136.     move.l    FileReqS(a5),a1
  1137.     move.l    ReqBase(a5),a6
  1138.     jsr    rtFreeRequest(a6)
  1139.  
  1140. ErrorAllocReqS:
  1141.     move.l    FileReqL(a5),a1
  1142.     move.l    ReqBase(a5),a6
  1143.     jsr    rtFreeRequest(a6)
  1144.  
  1145. ErrorAllocBufText
  1146.     move.l    BufTextNodes(a5),a1
  1147.     move.l    #(200*14)+(200*100),d0
  1148.     move.l    Exec.w,a6
  1149.     jsr    FreeMem(a6)
  1150.  
  1151. ErrorAllocReqL:
  1152.     move.l    XfdBase(a5),a1
  1153.     move.l    Exec.w,a6
  1154.     jsr    CloseLibrary(a6)
  1155.  
  1156. ErrorOpenXfd:
  1157.     move.l    ReqBase(a5),a1
  1158.     move.l    Exec.w,a6
  1159.     jsr    CloseLibrary(a6)
  1160.  
  1161. ErrorOpenReq:
  1162.     move.l    GadBase(a5),a1
  1163.     move.l    Exec.w,a6
  1164.     jsr    CloseLibrary(a6)
  1165.  
  1166. ErrorOpenGad:
  1167. ;    bsr.w    SetOldFunc
  1168.  
  1169.     move.l    GrfxBase(a5),a1
  1170.     move.l    Exec.w,a6
  1171.     jsr    CloseLibrary(a6)
  1172.  
  1173. ErrorOpenGfx:
  1174.     move.l    IntBase(a5),a1
  1175.     move.l    Exec.w,a6
  1176.     jsr    CloseLibrary(a6)
  1177.  
  1178. ErrorOpenInt:
  1179.     move.l    DosBase(a5),a1
  1180.     move.l    Exec.w,a6
  1181.     jsr    CloseLibrary(a6)
  1182.  
  1183. ErrorOpenDos:
  1184.     moveq    #0,d0
  1185.     rts
  1186.  
  1187. ***************************************************************************
  1188.  
  1189. DisplayAlertGad:
  1190.     lea    StructGad(pc),a1
  1191.     bsr.b    Display
  1192.     bra.b    ErrorOpenGad
  1193.  
  1194. DisplayAlertReq:
  1195.     lea    StructReq(pc),a1
  1196.     bsr.b    Display
  1197.     bra.b    ErrorOpenReq
  1198.  
  1199. DisplayAlertXfd:
  1200.     lea    StructXfd(pc),a1
  1201.     bsr.b    Display
  1202.     bra.b    ErrorOpenXfd
  1203.  
  1204. Display:
  1205.     sub.l    a0,a0
  1206.     sub.l    a2,a2
  1207.     sub.l    a3,a3
  1208.     move.l    IntBase(a5),a6
  1209.     jsr    EasyRequestArgs(a6)
  1210.  
  1211.     rts
  1212.  
  1213. StructGad:
  1214.     dc.l    GadSizeOf
  1215.     dc.l    0
  1216.     dc.l    DisplayGad
  1217.     dc.l    AlertGad
  1218.     dc.l    InGad
  1219. GadSizeOf:
  1220.  
  1221. StructReq:
  1222.     dc.l    ReqSizeOf
  1223.     dc.l    0
  1224.     dc.l    DisplayGad
  1225.     dc.l    AlertReq
  1226.     dc.l    InGad
  1227. ReqSizeOf:
  1228.  
  1229. StructXfd:
  1230.     dc.l    XfdSizeOf
  1231.     dc.l    0
  1232.     dc.l    DisplayGad
  1233.     dc.l    AlertXfd
  1234.     dc.l    InGad
  1235. XfdSizeOf:
  1236.  
  1237. DisplayGad:
  1238.     dc.b    'Track2File',0
  1239. AlertGad:
  1240.     dc.b    'Unable to open',10,'gadtools.library V37+',0
  1241. AlertReq:
  1242.     dc.b    'Unable to open',10,'reqtools.library V38+',0
  1243. AlertXfd:
  1244.     dc.b    'Unable to open',10,'xfdmaster.library V37+',0
  1245. InGad:
  1246.     dc.b    'Ok',0
  1247.     CNOP 0,2
  1248.  
  1249. ***************************************************************************
  1250.  
  1251. Searching:
  1252.     bsr.w    WaitPointer
  1253.     bsr.b    SearchID
  1254.     bsr.w    WorkPointer
  1255.  
  1256.     bra.w    Main
  1257.  
  1258. SearchID:
  1259.     clr.l    DecrError(a5)
  1260.  
  1261.     moveq    #0,d0
  1262.     bsr.w    FillZero        ;skasowanie paska kolorem tla
  1263.  
  1264.     clr.l    SetNameZero(a5)        ;skasowanie licznika ilosci plikow
  1265.  
  1266.     tst.l    AllocStart(a5)
  1267.     beq.w    BufferEmpty        ;czy bufor pusty
  1268.  
  1269.     lea    SearchIDText(pc),a0
  1270.     bsr.w    PrintStatus        ;wyswietlenie tekstu
  1271.  
  1272.     move.l    AllocStart(a5),a0    ;poczatek bufora
  1273.     move.l    AllocEnd(a5),a1        ;koniec bufora
  1274. CS:
  1275.     bsr.w    WaitPointer        ;wskaznik myszy zajety
  1276.  
  1277.     move.l    Enable1(a5),d3        ;enable/disable IDs
  1278.     move.l    Enable2(a5),d4
  1279.     move.l    Enable3(a5),d5
  1280.     move.l    Enable4(a5),d6
  1281.     move.l    Enable5(a5),d7
  1282.  
  1283.     bsr.w    Search            ;szukanie pliku
  1284.     beq.w    NoFind            ;nic nie znalazl jezeli 0
  1285.     bmi.w    Abort            ;przerwanie szukania
  1286.  
  1287.     bsr.w    PrintID            ;dane o pliku
  1288.     move.l    StartFileID(a5),StartFileID2(a5)
  1289. SOC:
  1290.     tst.l    DecrVar(a5)        ;czy decrunch before save
  1291.     bne.w    Decrunch
  1292.  
  1293.     tst.l    IncVar(a5)        ;czy inc file name
  1294.     bne.b    SaFi
  1295.  
  1296.     bsr.w    SaveOrCont        ;requester information
  1297.     tst.l    d0
  1298.     beq.b    ContSearch
  1299.     cmpi.l    #2,d0
  1300.     beq.w    Decrunch
  1301.     cmpi.l    #3,d0
  1302.     beq.w    Abort
  1303. SaFi:
  1304.     bsr.w    SaveFile        ;nagranie pliku spakowanego
  1305.  
  1306.     tst.l    IncVar(a5)        ;czy inc file name
  1307.     bne.b    ContSearch
  1308.  
  1309.     bra.b    SOC
  1310.  
  1311. ContSearch:
  1312.     lea    ContinueSearch(pc),a0
  1313.     bsr.w    PrintStatus
  1314.  
  1315.     move.l    StartFileID(a5),a0
  1316.     move.l    AllocEnd(a5),a1
  1317.  
  1318.     cmp.l    #'BOND',DisplayID(a5)
  1319.     beq.b    YesBond
  1320.  
  1321.     tst.l    SkipVar(a5)        ;czy skip file
  1322.     beq.b    NoSkip
  1323. YesBond
  1324.     tst.l    PackedSize(a5)
  1325.     beq.b    NoSkip
  1326.     add.l    PackedSize(a5),a0    ;dodaj dlugosc pliku
  1327.     subq.l    #4,a0
  1328.     bsr.w    Fill
  1329. NoSkip:
  1330.     cmpa.l    a0,a1            ;czy koniec bufora
  1331.     bls.b    NoFind
  1332.     addq.l    #1,a0
  1333.     tst.l    DeepVar(a5)
  1334.     bne.w    CS3
  1335.     move.l    d0,-(a7)
  1336.     move.l    a0,d0
  1337.     btst    #0,d0
  1338.     beq.b    CS2
  1339.     addq.l    #1,a0
  1340. CS2:
  1341.     move.l    (a7)+,d0
  1342. CS3:
  1343.     cmpi.b    #'9',DisplayID(a5)
  1344.     beq.b    CS4
  1345.     cmpi.l    #'LOB ',DisplayID(a5)
  1346.     bne.w    CS
  1347.     addq.l    #2,a0
  1348.     bra.w    CS
  1349. CS4
  1350.     addq.l    #4,a0
  1351.     bra.w    CS
  1352.  
  1353. NoFind:
  1354.     moveq    #3,d0
  1355.     bsr.w    FillZero        ;caly pasek na niebiesko
  1356.  
  1357.     lea    NothingFound(pc),a0
  1358.     bsr.w    PrintStatus
  1359.  
  1360.     tst.l    FileListAdd(a5)        ;czy ostatni plik do wczytania
  1361.     bne.b    LoadNext
  1362.     
  1363. NoFile:
  1364.     rts
  1365.  
  1366. Abort:
  1367.     lea    AbortSearch(pc),a0
  1368.     bsr.w    PrintStatus
  1369.  
  1370.     rts
  1371.  
  1372. LoadNext:
  1373. ;    clr.l    DecrError(a5)
  1374.  
  1375.     move.l    FileListAdd(a5),a0
  1376.     move.l    (a0),FileListAdd(a5)
  1377.     move.l    8(a0),a0
  1378.     bsr.w    LoadIt
  1379.  
  1380.     bra.w    SearchID
  1381.  
  1382. ***************************************************************************
  1383.  
  1384. Search:
  1385.     moveq    #0,d0
  1386. ContSearching:
  1387.     tst.l    DeepVar(a5)
  1388.     beq.b    NoDeep
  1389.  
  1390.     lsl.l    #8,d0
  1391.     move.b    (a0)+,d0
  1392.     beq.w    CompareCounter
  1393.     bra.b    Deep
  1394. NoDeep
  1395.     swap.w    d0
  1396.     move.w    (a0)+,d0
  1397.     beq.w    CompareCounter
  1398. Deep
  1399.     cmpi.w    #'z!',d0
  1400. ;    bhi.w    CompareCounter
  1401.     bcc.w    CompareCounter
  1402.  
  1403.     cmpi.w    #'CP',d0
  1404.     beq.w    _ID_CP
  1405.  
  1406.     cmpi.w    #'GP',d0
  1407.     beq.w    _ID_GP
  1408.  
  1409.     cmpi.w    #'JR',d0
  1410.     beq.w    _ID_JR
  1411.  
  1412.     cmpi.w    #'SA',d0
  1413.     beq.w    _ID_SA
  1414.  
  1415.     cmpi.w    #'SC',d0
  1416.     beq.w    _ID_SC
  1417.  
  1418.     cmpi.w    #'SF',d0
  1419.     beq.w    _ID_SF
  1420.  
  1421.     cmpi.w    #'SP',d0
  1422.     beq.w    _ID_SP
  1423.  
  1424.     cmpi.w    #'SQ',d0
  1425.     beq.w    _ID_SQ
  1426.  
  1427.     cmpi.l    #'=SB=',d0
  1428.     beq.w    _ID_SB
  1429.  
  1430.     cmpi.l    #$08090A08,d0
  1431.     beq.w    _ID_89A8
  1432.  
  1433.     cmpi.l    #$08090A0A,d0
  1434.     beq.w    _ID_89AA
  1435.  
  1436.     cmpi.l    #$08090A0B,d0
  1437.     beq.w    _ID_89AB
  1438.  
  1439.     cmpi.l    #$08090A0C,d0
  1440.     beq.w    _ID_89AC
  1441.  
  1442.     cmpi.l    #$08090A0D,d0
  1443.     beq.w    _ID_89AD
  1444.  
  1445.     cmpi.l    #$09090909,d0
  1446.     beq.w    _ID_9999
  1447.  
  1448.     cmpi.l    #$090A0A0A,d0
  1449.     beq.w    _ID_9AAA
  1450.  
  1451.     cmpi.l    #$090A0B0B,d0
  1452.     beq.w    _ID_9ABB
  1453.  
  1454.     cmpi.l    #$090A0C0C,d0
  1455.     beq.w    _ID_9ACC
  1456.  
  1457.     cmpi.l    #$090A0C0D,d0
  1458.     beq.w    _ID_9ACD
  1459.  
  1460.     cmpi.l    #$18051973,d0
  1461.     beq.w    _ID_18051973
  1462.  
  1463.     cmpi.l    #'0815',d0
  1464.     beq.w    _ID_0815
  1465.  
  1466.     cmpi.l    #'!GC!',d0
  1467.     beq.w    _ID_GC
  1468.  
  1469.     cmpi.l    #'ACE!',d0
  1470.     beq.w    _ID_ACE
  1471.  
  1472.     cmpi.l    #'ALC0',d0
  1473.     beq.w    _ID_ALC0
  1474.  
  1475.     cmpi.l    #'ARP3',d0
  1476.     beq.w    _ID_ARP3
  1477.  
  1478.     cmpi.l    #'ARPF',d0
  1479.     beq.w    _ID_ARPF
  1480.  
  1481.     cmpi.l    #'ATM5',d0
  1482.     beq.w    _ID_ATM5
  1483.  
  1484.     cmpi.l    #'ATN!',d0
  1485.     beq.w    _ID_ATN
  1486.  
  1487.     cmpi.l    #'ATOM',d0
  1488.     beq.w    _ID_ATOM
  1489.  
  1490.     cmpi.l    #'Ace?',d0
  1491.     beq.w    _ID_Ace?
  1492.  
  1493.     cmpi.l    #'ArcD',d0
  1494.     beq.w    _ID_ArcD
  1495.  
  1496.     cmpi.l    #'ArcR',d0
  1497.     beq.w    _ID_ArcR
  1498.  
  1499.     cmpi.l    #'arcD',d0
  1500.     beq.w    _ID_arcD
  1501.  
  1502.     cmpi.l    #'BDPI',d0
  1503.     beq.w    _ID_BDPI
  1504.  
  1505.     cmpi.l    #'BH72',d0
  1506.     beq.w    _ID_BH72
  1507.  
  1508.     cmpi.l    #'BH73',d0
  1509.     beq.w    _ID_BH73
  1510.  
  1511.     cmpi.l    #'BHC3',d0
  1512.     beq.w    _ID_BHC3
  1513.  
  1514.     cmpi.l    #'.BON',d0
  1515.     beq.w    _ID_BOND
  1516.  
  1517.     cmpi.l    #'CHFC',d0
  1518.     beq.w    _ID_CHFC
  1519.  
  1520.     cmpi.l    #'CHFI',d0
  1521.     beq.w    _ID_CHFI
  1522.  
  1523.     cmpi.l    #'CMP1',d0
  1524.     beq.w    _ID_CMP1
  1525.  
  1526.     cmpi.l    #'CrM!',d0
  1527.     beq.w    _ID_CrM
  1528.  
  1529.     cmpi.l    #'CrM2',d0
  1530.     beq.w    _ID_CrM2
  1531.  
  1532.     cmpi.l    #'Crm!',d0
  1533.     beq.w    _ID_Crm
  1534.  
  1535.     cmpi.l    #'Crm2',d0
  1536.     beq.w    _ID_Crm2
  1537.  
  1538.     cmpi.l    #'CRND',d0
  1539.     beq.w    _ID_CRND
  1540.  
  1541.     cmpi.l    #'CRUa',d0
  1542.     beq.w    _ID_CRUa
  1543.  
  1544.     cmpi.l    #'CRUN',d0
  1545.     beq.w    _ID_CRUN
  1546.  
  1547.     cmpi.l    #'CSFX',d0
  1548.     beq.w    _ID_CSFX
  1549.  
  1550.     cmpi.l    #'D815',d0
  1551.     beq.w    _ID_D815
  1552.  
  1553.     cmpi.l    #'DHp2',d0
  1554.     beq.w    _ID_DHp2
  1555.  
  1556.     cmpi.l    #'DOUG',d0
  1557.     beq.w    _ID_DOUG
  1558.  
  1559.     cmpi.l    #'Dtpk',d0
  1560.     beq.w    _ID_Dtpk
  1561.  
  1562.     cmpi.l    #'Dupa',d0
  1563.     beq.w    _ID_Dupa
  1564.  
  1565.     cmpi.l    #'EDAM',d0
  1566.     beq.w    _ID_EDAM
  1567.  
  1568.     cmpi.l    #'ESL!',d0
  1569.     beq.w    _ID_ESL
  1570.  
  1571.     cmpi.l    #'FB@@',d0
  1572.     beq.w    _ID_FB
  1573.  
  1574.     cmpi.l    #'FIRE',d0
  1575.     beq.w    _ID_FIRE
  1576.  
  1577.     cmpi.l    #'FLT!',d0
  1578.     beq.w    _ID_FLT
  1579.  
  1580.     cmpi.l    #'FRED',d0
  1581.     beq.w    _ID_FRED
  1582.  
  1583.     cmpi.l    #'GC!'<<8+2,d0
  1584.     beq.w    _ID_GC2
  1585.  
  1586.     cmpi.l    #'GC!'<<8+3,d0
  1587.     beq.w    _ID_GC3
  1588.  
  1589.     cmpi.l    #'GP11',d0
  1590.     beq.w    _ID_GP11
  1591.  
  1592.     cmpi.l    #'HAL!',d0
  1593.     beq.w    _ID_HAL
  1594.  
  1595.     cmpi.l    #'HUF#',d0
  1596.     beq.w    _ID_HUF
  1597.  
  1598.     cmpi.l    #'ICE!',d0
  1599.     beq.w    _ID_ICE
  1600.  
  1601.     cmpi.l    #'IFT?',d0
  1602.     beq.w    _ID_IFT?
  1603.  
  1604.     cmpi.l    #'IMP!',d0
  1605.     beq.w    _ID_IMP
  1606.  
  1607.     cmpi.l    #'Ice!',d0
  1608.     beq.w    _ID_Ice
  1609.  
  1610.     cmpi.l    #'KDUB',d0
  1611.     beq.w    _ID_KDUB
  1612.  
  1613.     cmpi.l    #'LR88',d0
  1614.     beq.w    _ID_LR88
  1615.  
  1616.     cmpi.l    #'LSD!',d0
  1617.     beq.w    _ID_LSD
  1618.  
  1619.     cmpi.l    #'LZDA',d0
  1620.     beq.w    _ID_LZDA
  1621.  
  1622.     cmpi.l    #'LZSS',d0
  1623.     beq.w    _ID_LZSS
  1624.  
  1625.     cmpi.l    #'LZWH',d0
  1626.     beq.w    _ID_LZWH
  1627.  
  1628.     cmpi.l    #'LeCr',d0
  1629.     beq.w    _ID_LeCr
  1630.  
  1631.     cmpi.l    #'MASM',d0
  1632.     beq.w    _ID_MASM
  1633.  
  1634.     cmpi.l    #'MASS',d0
  1635.     beq.w    _ID_MASS
  1636.  
  1637.     cmpi.l    #'MD12',d0
  1638.     beq.w    _ID_MD12
  1639.  
  1640.     cmpi.l    #'MICK',d0
  1641.     beq.w    _ID_MICK
  1642.  
  1643.     cmpi.l    #'MTP1',d0
  1644.     beq.w    _ID_MTP1
  1645.  
  1646.     cmpi.l    #'MTPS',d0
  1647.     beq.w    _ID_MTPS
  1648.  
  1649.     cmpi.l    #'MWC'<<8+1,d0
  1650.     beq.w    _ID_MWC1
  1651.  
  1652.     cmpi.l    #'PAC'<<8+1,d0
  1653.     beq.w    _ID_PAC1
  1654.  
  1655.     cmpi.l    #'PACK',d0
  1656.     beq.w    _ID_PACK
  1657.  
  1658.     cmpi.l    #'PARA',d0
  1659.     beq.w    _ID_PARA
  1660.  
  1661.     cmpi.l    #'PP20',d0
  1662.     beq.w    _ID_PP20
  1663.  
  1664.     cmpi.l    #'PaCK',d0
  1665.     beq.w    _ID_PaCK
  1666.  
  1667.     cmpi.l    #'PaK0',d0
  1668.     beq.w    _ID_PaK0
  1669.  
  1670.     cmpi.l    #'pack',d0
  1671.     beq.w    _ID_pack
  1672.  
  1673.     cmpi.l    #'RNC'<<8+0,d0
  1674.     beq.w    _ID_RNC0
  1675.  
  1676.     cmpi.l    #'RNC'<<8+1,d0
  1677.     beq.w    _ID_RNC1
  1678.  
  1679.     cmpi.l    #'RNC'<<8+2,d0
  1680.     beq.w    _ID_RNC2
  1681.  
  1682.     cmpi.l    #'S300',d0
  1683.     beq.w    _ID_S300
  1684.  
  1685.     cmpi.l    #'S310',d0
  1686.     beq.w    _ID_S310
  1687.  
  1688.     cmpi.l    #'S400',d0
  1689.     beq.w    _ID_S400
  1690.  
  1691.     cmpi.l    #'S401',d0
  1692.     beq.w    _ID_S401
  1693.  
  1694.     cmpi.l    #'S403',d0
  1695.     beq.w    _ID_S403
  1696.  
  1697.     cmpi.l    #'S404',d0
  1698.     beq.w    _ID_S404
  1699.  
  1700.     cmpi.l    #'SFCD',d0
  1701.     beq.w    _ID_SFCD
  1702.  
  1703.     cmpi.l    #'SFHD',d0
  1704.     beq.w    _ID_SFHD
  1705.  
  1706.     cmpi.l    #'SLAM',d0
  1707.     beq.w    _ID_SLAM
  1708.  
  1709.     cmpi.l    #'SPv3',d0
  1710.     beq.w    _ID_SPv3
  1711.  
  1712.     cmpi.l    #'SSUR',d0
  1713.     beq.w    _ID_SSUR
  1714.  
  1715.     cmpi.l    #'TITS',d0
  1716.     beq.w    _ID_TITS
  1717.  
  1718.     cmpi.l    #'T.S ',d0
  1719.     beq.w    _ID_T.S
  1720.  
  1721.     cmpi.l    #'TPWM',d0
  1722.     beq.w    _ID_TPWM
  1723.  
  1724.     cmpi.l    #'TSM!',d0
  1725.     beq.w    _ID_TSM
  1726.  
  1727.     cmpi.l    #'Taz!',d0
  1728.     beq.w    _ID_Taz
  1729.  
  1730.     cmpi.l    #'VDCO',d0
  1731.     beq.w    _ID_VDCO
  1732.  
  1733.     cmpi.l    #'VOL1',d0
  1734.     beq.w    _ID_VOL1
  1735.  
  1736.     cmpi.l    #'ViS1',d0
  1737.     beq.w    _ID_ViS1
  1738.  
  1739.     cmpi.l    #'ViSL',d0
  1740.     beq.w    _ID_ViSL
  1741.  
  1742.     cmpi.l    #'Vic2',d0
  1743.     beq.w    _ID_Vic2
  1744.  
  1745.     cmpi.l    #'WJSD',d0
  1746.     beq.w    _ID_WJSD
  1747.  
  1748.     cmpi.l    #'XP10',d0
  1749.     beq.w    _ID_XP10
  1750.  
  1751.     cmpi.l    #'XPKF',d0
  1752.     beq.w    _ID_XPKF
  1753.  
  1754.     cmpi.l    #'XPKZ',d0
  1755.     beq.w    _ID_XPKZ
  1756.  
  1757.     cmpi.l    #'XX50',d0
  1758.     beq.w    _ID_XX50
  1759.  
  1760.     cmpi.l    #'xVdg',d0
  1761.     beq.w    _ID_xVdg
  1762.  
  1763.     cmpi.l    #'xXxX',d0
  1764.     beq.w    _ID_xXxX
  1765. _ID_Exit:
  1766.     move.l    d0,-(a7)
  1767.     andi.l    #$ffffff00,d0
  1768.  
  1769.     cmpi.l    #'1AM '-32,d0
  1770.     beq.w    _ID_1AM
  1771. _1AM1_Exit:
  1772.     cmpi.l    #'2AM '-32,d0
  1773.     beq.w    _ID_2AM
  1774. _2AM1_Exit:
  1775.  
  1776.     move.l    (a7)+,d0
  1777.  
  1778.     tst.l    DeepVar(a5)
  1779.     bne.b    Nop
  1780.  
  1781.     cmpi.l    #'RLE '-32,d0
  1782.     beq.w    _ID_RLE
  1783.  
  1784.     bra.b    _RLE_Exit
  1785. Nop:
  1786.     andi.l    #$00ffffff,d0
  1787.  
  1788.     cmpi.l    #'RLE',d0
  1789.     beq.w    _ID_RLE
  1790. _RLE_Exit:
  1791.     andi.l    #$00ffffff,d0
  1792.  
  1793.     cmpi.l    #'LOB',d0
  1794.     beq.w    _ID_LOB
  1795. _LOB_Exit:
  1796.  
  1797. CompareCounter:
  1798.     move.l    a0,d2
  1799.     lsl.l    #4,d2
  1800.     tst.w    d2
  1801.     bne.b    NoFill
  1802.     bsr.w    Fill
  1803.     bne.b    ContAbort
  1804. NoFill:
  1805.     cmpa.l    a0,a1
  1806.     bhi.w    ContSearching        ;w wersji 1.11 jest bge.w
  1807. ;    bge.w    ContSearching
  1808.  
  1809.     moveq    #0,d0
  1810.     rts
  1811.  
  1812. ContAbort:
  1813.     moveq    #-1,d0
  1814.     rts
  1815.  
  1816. ****************************************************************************
  1817.  
  1818. _ID_CP
  1819.     btst.l    #CP,d3
  1820.     bne.w    _ID_Exit
  1821.     move.l    a0,a2
  1822.     addq.l    #6,a2
  1823.     bsr.w    TestFileSize
  1824.     beq.w    _ID_Exit
  1825.     move.l    d1,OriginalSize(a5)
  1826.     subq.l    #4,a2
  1827.     bsr.w    TestFileSize
  1828.     beq.w    _ID_Exit
  1829.     move.l    d1,PackedSize(a5)
  1830.     subq.l    #2,a0
  1831.     move.l    a0,StartFileID(a5)
  1832.     move.l    #' CP ',DisplayID(a5)
  1833.     lea    Ace?Text(pc),a0
  1834.     move.l    a0,AboutPacker(a5)
  1835.     moveq    #1,d0
  1836.     rts
  1837. _ID_GP
  1838.     btst.l    #GP,d3
  1839.     bne.w    _ID_Exit
  1840.     move.l    a0,a2
  1841.     bsr.w    TestFileSize
  1842.     beq.w    _ID_Exit
  1843.     move.l    d1,OriginalSize(a5)
  1844.     addq.l    #6,a2
  1845.     bsr.w    TestFileSize
  1846.     beq.w    _ID_Exit
  1847.     add.l    #12,d1
  1848.     move.l    d1,PackedSize(a5)
  1849.     subq.l    #2,a0
  1850.     move.l    a0,StartFileID(a5)
  1851.     move.l    #' GP ',DisplayID(a5)
  1852.     lea    Ace?Text(pc),a0
  1853.     move.l    a0,AboutPacker(a5)
  1854.     moveq    #1,d0
  1855.     rts
  1856. _ID_JR
  1857.     btst.l    #JR,d3
  1858.     bne.w    _ID_Exit
  1859.     move.l    a0,a2
  1860.     addq.l    #2,a2
  1861.     bsr.w    TestFileSize
  1862.     beq.w    _ID_Exit
  1863.     move.l    d1,OriginalSize(a5)
  1864.     clr.l    PackedSize(a5)
  1865.     subq.l    #2,a0
  1866.     move.l    a0,StartFileID(a5)
  1867.     move.l    #' JR ',DisplayID(a5)
  1868.     lea    Ace?Text(pc),a0
  1869.     move.l    a0,AboutPacker(a5)
  1870.     moveq    #1,d0
  1871.     rts
  1872. _ID_SA
  1873.     btst.l    #SA,d3
  1874.     bne.w    _ID_Exit
  1875.  
  1876.     move.l    a0,a2
  1877.     bsr.w    GetWord
  1878.     cmpi.w    #6,d1
  1879.     bhi.w    _ID_Exit
  1880.  
  1881.     addq.l    #4,a2
  1882.     bsr.w    TestFileSize
  1883.     beq.w    _ID_Exit
  1884.     move.l    d1,OriginalSize(a5)
  1885.  
  1886.     move.l    a0,a2
  1887.     addq.l    #2,a2
  1888.     bsr.w    GetWord
  1889.     beq.w    _ID_Exit
  1890.     lsl.l    #3,d1
  1891.     add.l    #14,d1
  1892.     moveq    #0,d2
  1893.     move.l    d1,d2
  1894.     addq.l    #6,a2
  1895.     bsr.w    TestFileSize
  1896.     beq.w    _ID_Exit
  1897.     add.l    d1,d2
  1898.     move.l    d2,PackedSize(a5)
  1899.  
  1900.     subq.l    #2,a0
  1901.     move.l    a0,StartFileID(a5)
  1902.     move.l    #' SA ',DisplayID(a5)
  1903.     lea    MagnText(pc),a0
  1904.     move.l    a0,AboutPacker(a5)
  1905.     moveq    #1,d0
  1906.     rts
  1907. _ID_SC
  1908.     btst.l    #SC,d3
  1909.     bne.w    _ID_Exit
  1910.  
  1911.     move.l    a0,a2
  1912.     bsr.w    GetWord
  1913.     cmpi.w    #6,d1
  1914.     bhi.w    _ID_Exit
  1915.  
  1916.     moveq    #0,d2
  1917.     move.w    d1,d2
  1918.     addq.l    #2,a2
  1919.     bsr.w    TestFileSize
  1920.     beq.w    _ID_Exit
  1921.     mulu.w    d2,d1
  1922.     move.l    d1,OriginalSize(a5)
  1923.  
  1924.     move.l    a0,a2
  1925.     bsr.w    GetWord
  1926.     moveq    #2,d2
  1927.     lsl.l    d1,d2
  1928.     add.l    #12,d2
  1929.     addq.l    #6,a2
  1930.     bsr.w    TestFileSize
  1931.     beq.w    _ID_Exit
  1932.     add.l    d1,d2
  1933.     move.l    d2,PackedSize(a5)
  1934.  
  1935.     subq.l    #2,a0
  1936.     move.l    a0,StartFileID(a5)
  1937.     move.l    #' SC ',DisplayID(a5)
  1938.     lea    MagnText(pc),a0
  1939.     move.l    a0,AboutPacker(a5)
  1940.     moveq    #1,d0
  1941.     rts
  1942. _ID_SF
  1943.     btst.l    #SF,d3
  1944.     bne.w    _ID_Exit
  1945.  
  1946.     move.l    a0,a2
  1947.     bsr.w    TestFileSize
  1948.     beq.w    _ID_Exit
  1949.     move.l    d1,OriginalSize(a5)
  1950.  
  1951.     addq.l    #4,a2
  1952.     bsr.w    TestFileSize
  1953.     beq.w    _ID_Exit
  1954.     andi.l    #$fffffffe,d1
  1955.     add.l    #12,d1
  1956.     move.l    d1,PackedSize(a5)
  1957.  
  1958.     subq.l    #2,a0
  1959.     move.l    a0,StartFileID(a5)
  1960.     move.l    #' SF ',DisplayID(a5)
  1961.     lea    MagnText(pc),a0
  1962.     move.l    a0,AboutPacker(a5)
  1963.     moveq    #1,d0
  1964.     rts
  1965. _ID_SP
  1966.     btst.l    #SP,d3
  1967.     bne.w    _ID_Exit
  1968.  
  1969.     move.l    a0,a2
  1970.     bsr.w    GetWord
  1971.     cmpi.w    #6,d1
  1972.     bhi.w    _ID_Exit
  1973.  
  1974.     moveq    #0,d2
  1975.     move.w    d1,d2
  1976.     addq.l    #2,a2
  1977.     bsr.w    TestFileSize
  1978.     beq.w    _ID_Exit
  1979.     mulu.w    d2,d1
  1980.     move.l    d1,OriginalSize(a5)
  1981.  
  1982.     addq.l    #4,a2
  1983.     bsr.w    TestFileSize
  1984.     beq.w    _ID_Exit
  1985.     add.l    #12,d1
  1986.     move.l    d1,PackedSize(a5)
  1987.  
  1988.     subq.l    #2,a0
  1989.     move.l    a0,StartFileID(a5)
  1990.     move.l    #' SP ',DisplayID(a5)
  1991.     lea    MagnText(pc),a0
  1992.     move.l    a0,AboutPacker(a5)
  1993.     moveq    #1,d0
  1994.     rts
  1995. _ID_SQ
  1996.     btst.l    #SQ,d3
  1997.     bne.w    _ID_Exit
  1998.  
  1999.     move.l    a0,a2
  2000.     bsr.w    TestFileSize
  2001.     beq.w    _ID_Exit
  2002.     addq.l    #7,d1
  2003.     andi.l    #$fffffff8,d1
  2004.     move.l    d1,OriginalSize(a5)
  2005.  
  2006.     addq.l    #4,a2
  2007.     bsr.w    GetLongWord
  2008.     andi.l    #$ffffff,d1
  2009.     beq.w    _ID_Exit
  2010.     lsl.l    #2,d1
  2011.     add.l    #10,d1
  2012.     move.l    d1,PackedSize(a5)
  2013.     andi.l    #$ffe00000,d1
  2014.     bne.w    _ID_Exit
  2015.  
  2016.     subq.l    #2,a0
  2017.     move.l    a0,StartFileID(a5)
  2018.     move.l    #' SQ ',DisplayID(a5)
  2019.     lea    MagnText(pc),a0
  2020.     move.l    a0,AboutPacker(a5)
  2021.     moveq    #1,d0
  2022.     rts
  2023. _ID_1AM
  2024.     btst.l    #AM1,d3
  2025.     bne.w    _1AM1_Exit
  2026.     move.l    a0,a2
  2027.     addq.l    #4,a2
  2028.     bsr.w    TestFileSize
  2029.     beq.w    _1AM1_Exit
  2030.     move.l    d1,OriginalSize(a5)
  2031.     addq.l    #4,a2
  2032.     bsr.w    TestFileSize
  2033.     beq.w    _1AM1_Exit
  2034.     add.l    #16,d1
  2035.     move.l    d1,PackedSize(a5)
  2036.     subq.l    #4,a0
  2037.     move.l    a0,StartFileID(a5)
  2038.     move.l    #'1AM ',DisplayID(a5)
  2039.     lea    Stone3FakeText(pc),a2
  2040.     move.l    a2,AboutPacker(a5)
  2041.     move.b    #'S',(a0)+
  2042.     move.b    #'3',(a0)+
  2043.     move.b    #'0',(a0)+
  2044.     move.b    #'0',(a0)
  2045.     addq.l    #4,a7
  2046.     moveq    #1,d0
  2047.     rts
  2048. _ID_2AM
  2049.     btst.l    #AM2,d3
  2050.     bne.w    _2AM1_Exit
  2051.     move.l    a0,a2
  2052.     bsr.w    TestFileSize
  2053.     beq.w    _2AM1_Exit
  2054.     move.l    d1,OriginalSize(a5)
  2055.     addq.l    #4,a2
  2056.     bsr.w    TestFileSize
  2057.     beq.w    _2AM1_Exit
  2058.     add.l    #12,d1
  2059.     move.l    d1,PackedSize(a5)
  2060.     subq.l    #4,a0
  2061.     move.l    a0,StartFileID(a5)
  2062.     move.l    #'2AM ',DisplayID(a5)
  2063.     lea    Stone2FakeText(pc),a2
  2064.     move.l    a2,AboutPacker(a5)
  2065.     move.b    #'S',(a0)+
  2066.     move.b    #'4',(a0)+
  2067.     move.b    #'0',(a0)+
  2068.     move.b    #'1',(a0)
  2069.     addq.l    #4,a7
  2070.     moveq    #1,d0
  2071.     rts
  2072. _ID_LOB
  2073.     btst.l    #LOB,d3
  2074.     bne.w    _LOB_Exit
  2075.     move.l    a0,a2
  2076.     cmp.b    #6,(a0)
  2077.     bhi.w    _LOB_Exit
  2078.  
  2079.     cmp.l    #7,FormatNum(a5)
  2080.     bne.b    .skip
  2081.  
  2082.     bsr.b    LOB_decode
  2083. .skip
  2084.     bsr.w    GetLongWord
  2085.     beq.w    _LOB_Exit
  2086.     andi.l    #$001fffff,d1
  2087.     beq.w    _LOB_Exit
  2088.     move.l    d1,OriginalSize(a5)
  2089.     addq.l    #4,a2
  2090.     tst.b    (a2)
  2091.     bne.w    _LOB_Exit
  2092.     bsr.w    GetLongWord
  2093.     beq.w    _LOB_Exit
  2094.     add.l    #12,d1
  2095.     move.l    OriginalSize(a5),d0
  2096.     cmp.l    d1,d0
  2097.     bhi.s    Higher
  2098.     and.l    #$ffff,d1
  2099.     clr.b    5(a0)
  2100. Higher
  2101.     move.l    d1,PackedSize(a5)
  2102.     subq.l    #4,a0
  2103.     move.l    a0,StartFileID(a5)
  2104.     move.l    #'LOB0',d0
  2105.     add.b    4(a0),d0
  2106.     move.l    d0,DisplayID(a5)
  2107.     lea    LOBText(pc),a0
  2108.     move.l    a0,AboutPacker(a5)
  2109.     moveq    #1,d0
  2110.     rts
  2111. LOB_decode
  2112.     movem.l    D0-D2/D7/A0,-(SP)
  2113.  
  2114.     moveq    #0,d0
  2115.     moveq    #0,d1
  2116.     moveq    #$57,D2
  2117.  
  2118.     addq.l    #4,a0
  2119.     move.w    (a0),d0
  2120. ;    move.l    #$848,d7
  2121.  
  2122.     ifne    1
  2123.     eor.w    d0,(a0)+
  2124.     move.w    D0,D1
  2125.     lsl.w    #4,D0
  2126.     add.w    D1,D0
  2127.     add.w    D2,D0
  2128.  
  2129.     eor.w    d0,(a0)+
  2130.     move.w    D0,D1
  2131.     lsl.w    #4,D0
  2132.     add.w    D1,D0
  2133.     add.w    D2,D0
  2134.  
  2135.     move.l    -4(a0),d7
  2136.     endc
  2137.  
  2138.     addq.l    #1,D7
  2139.     asr.l    #1,D7
  2140.     bra.b    lbC0266AC
  2141.  
  2142. lbC0266A2
  2143.     eor.w    D0,(A0)+
  2144.     move.w    D0,D1
  2145.     lsl.w    #4,D0
  2146.     add.w    D1,D0
  2147.     add.w    D2,D0
  2148. lbC0266AC
  2149.     subq.l    #1,D7
  2150.     bpl.s    lbC0266A2
  2151.     movem.l    (SP)+,D0-D2/D7/A0
  2152.     rts
  2153. _ID_RLE
  2154.     btst.l    #RLE,d3
  2155.     bne.w    _RLE_Exit
  2156.     tst.l    DeepVar(a5)
  2157.     beq.b    ContRLE
  2158.     addq.l    #1,a0
  2159. ContRLE:
  2160.     move.l    a0,a2
  2161.     bsr.w    TestFileSize
  2162.     beq.w    _RLE_Exit
  2163.     move.l    d1,OriginalSize(a5)
  2164.     addq.l    #4,a2
  2165.     bsr.w    TestFileSize
  2166.     beq.w    _RLE_Exit
  2167.     add.l    #64,d1
  2168.     move.l    d1,PackedSize(a5)
  2169.     subq.l    #4,a0
  2170.     move.l    a0,StartFileID(a5)
  2171.     move.l    #'RLE ',DisplayID(a5)
  2172.     lea    Ace?Text(pc),a0
  2173.     move.l    a0,AboutPacker(a5)
  2174.     moveq    #1,d0
  2175.     rts
  2176. _ID_SB
  2177.     btst.l    #SB,d3
  2178.     bne.w    _ID_Exit
  2179.     move.l    a0,a2
  2180.     bsr.w    TestFileSize
  2181.     beq.w    _ID_Exit
  2182.     move.l    d1,OriginalSize(a5)
  2183.     addq.l    #4,a2
  2184.     bsr.w    TestFileSize
  2185.     beq.w    _ID_Exit
  2186.     add.l    #12,d1
  2187.     move.l    d1,PackedSize(a5)
  2188.     subq.l    #4,a0
  2189.     move.l    a0,StartFileID(a5)
  2190.     move.l    #'=SB=',DisplayID(a5)
  2191.     lea    SBText(pc),a0
  2192.     move.l    a0,AboutPacker(a5)
  2193.     moveq    #1,d0
  2194.     rts
  2195. _ID_89A8
  2196.     btst.l    #id89A8,d3
  2197.     bne.w    _ID_Exit
  2198.     bsr.w    CheckStone
  2199.     bne.w    _ID_Exit
  2200.     move.l    a0,a2
  2201.     bsr.w    TestFileSize
  2202.     beq.w    _ID_Exit
  2203.     move.l    d1,OriginalSize(a5)
  2204.     addq.l    #4,a2
  2205.     bsr.w    TestFileSize
  2206.     beq.w    _ID_Exit
  2207.     add.l    #12,d1
  2208.     move.l    d1,PackedSize(a5)
  2209.     subq.l    #4,a0
  2210.     move.l    a0,StartFileID(a5)
  2211.     move.l    #'89A8',DisplayID(a5)
  2212.     lea    Text89A8(pc),a0
  2213.     move.l    a0,AboutPacker(a5)
  2214.     moveq    #1,d0
  2215.     rts
  2216. _ID_89AA
  2217.     btst.l    #id89AA,d3
  2218.     bne.w    _ID_Exit
  2219.     bsr.w    CheckStone
  2220.     bne.w    _ID_Exit
  2221.     move.l    a0,a2
  2222.     bsr.w    TestFileSize
  2223.     beq.w    _ID_Exit
  2224.     move.l    d1,OriginalSize(a5)
  2225.     addq.l    #4,a2
  2226.     bsr.w    TestFileSize
  2227.     beq.w    _ID_Exit
  2228.     add.l    #12,d1
  2229.     move.l    d1,PackedSize(a5)
  2230.     subq.l    #4,a0
  2231.     move.l    a0,StartFileID(a5)
  2232.     move.l    #'89AA',DisplayID(a5)
  2233.     lea    Text89A8(pc),a0
  2234.     move.l    a0,AboutPacker(a5)
  2235.     moveq    #1,d0
  2236.     rts
  2237. _ID_89AB
  2238.     btst.l    #id89AB,d3
  2239.     bne.w    _ID_Exit
  2240.     bsr.w    CheckStone
  2241.     bne.w    _ID_Exit
  2242.     move.l    a0,a2
  2243.     bsr.w    TestFileSize
  2244.     beq.w    _ID_Exit
  2245.     move.l    d1,OriginalSize(a5)
  2246.     addq.l    #4,a2
  2247.     bsr.w    TestFileSize
  2248.     beq.w    _ID_Exit
  2249.     add.l    #12,d1
  2250.     move.l    d1,PackedSize(a5)
  2251.     subq.l    #4,a0
  2252.     move.l    a0,StartFileID(a5)
  2253.     move.l    #'89AB',DisplayID(a5)
  2254.     lea    Text89A8(pc),a0
  2255.     move.l    a0,AboutPacker(a5)
  2256.     moveq    #1,d0
  2257.     rts
  2258. _ID_89AC
  2259.     btst.l    #id89AC,d3
  2260.     bne.w    _ID_Exit
  2261.     bsr.w    CheckStone
  2262.     bne.w    _ID_Exit
  2263.     move.l    a0,a2
  2264.     bsr.w    TestFileSize
  2265.     beq.w    _ID_Exit
  2266.     move.l    d1,OriginalSize(a5)
  2267.     addq.l    #4,a2
  2268.     bsr.w    TestFileSize
  2269.     beq.w    _ID_Exit
  2270.     add.l    #12,d1
  2271.     move.l    d1,PackedSize(a5)
  2272.     subq.l    #4,a0
  2273.     move.l    a0,StartFileID(a5)
  2274.     move.l    #'89AC',DisplayID(a5)
  2275.     lea    Text89A8(pc),a0
  2276.     move.l    a0,AboutPacker(a5)
  2277.     moveq    #1,d0
  2278.     rts
  2279. _ID_89AD
  2280.     btst.l    #id89AD,d3
  2281.     bne.w    _ID_Exit
  2282.     bsr.w    CheckStone
  2283.     bne.w    _ID_Exit
  2284.     move.l    a0,a2
  2285.     bsr.w    TestFileSize
  2286.     beq.w    _ID_Exit
  2287.     move.l    d1,OriginalSize(a5)
  2288.     addq.l    #4,a2
  2289.     bsr.w    TestFileSize
  2290.     beq.w    _ID_Exit
  2291.     add.l    #12,d1
  2292.     move.l    d1,PackedSize(a5)
  2293.     subq.l    #4,a0
  2294.     move.l    a0,StartFileID(a5)
  2295.     move.l    #'89AD',DisplayID(a5)
  2296.     lea    Text89A8(pc),a0
  2297.     move.l    a0,AboutPacker(a5)
  2298.     moveq    #1,d0
  2299.     rts
  2300. CheckStone
  2301.     lea    -8(A0),A2
  2302.     bsr.w    GetLongWord
  2303.     cmp.l    #'S300',D1
  2304.     beq.b    .yes
  2305.     moveq    #0,d1
  2306.     rts
  2307. .yes
  2308.     moveq    #-1,d1
  2309.     rts
  2310. _ID_9999
  2311.     btst.l    #id9999,d3
  2312.     bne.w    _ID_Exit
  2313.     bsr.w    CheckPP20fake
  2314.     tst.l    d0
  2315.     beq.w    _ID_Exit
  2316.     move.l    #'9999',DisplayID(a5)
  2317.     moveq    #1,d0
  2318.     rts
  2319.  
  2320. _ID_9AAA
  2321.     btst.l    #id9AAA,d3
  2322.     bne.w    _ID_Exit
  2323.     bsr.w    CheckPP20fake
  2324.     tst.l    d0
  2325.     beq.w    _ID_Exit
  2326.     move.l    #'9AAA',DisplayID(a5)
  2327.     moveq    #1,d0
  2328.     rts
  2329.  
  2330. _ID_9ABB
  2331.     btst.l    #id9ABB,d3
  2332.     bne.w    _ID_Exit
  2333.     bsr.w    CheckPP20fake
  2334.     tst.l    d0
  2335.     beq.w    _ID_Exit
  2336.     move.l    #'9ABB',DisplayID(a5)
  2337.     moveq    #1,d0
  2338.     rts
  2339.  
  2340. _ID_9ACC
  2341.     btst.l    #id9ACC,d3
  2342.     bne.w    _ID_Exit
  2343.     bsr.w    CheckPP20fake
  2344.     tst.l    d0
  2345.     beq.w    _ID_Exit
  2346.     move.l    #'9ACC',DisplayID(a5)
  2347.     moveq    #1,d0
  2348.     rts
  2349.  
  2350. _ID_9ACD
  2351.     btst.l    #id9ACD,d3
  2352.     bne.w    _ID_Exit
  2353.     bsr.w    CheckPP20fake
  2354.     tst.l    d0
  2355.     beq.w    _ID_Exit
  2356.     move.l    #'9ACD',DisplayID(a5)
  2357.     moveq    #1,d0
  2358.     rts
  2359.  
  2360. CheckPP20fake
  2361. ;    tst.l    NextID(a5)
  2362. ;    bne.w    ._ID_Exit2
  2363.  
  2364.     lea    -8(A0),A2
  2365.     bsr.w    GetLongWord
  2366.     cmp.l    #'PP20',d1
  2367.     beq.w    ._ID_Exit2
  2368.  
  2369.     cmp.w    #$8000,-4(a2)
  2370.     beq.b    .tnt
  2371.  
  2372.     bsr.w    TestFileSize
  2373.     beq.w    ._ID_Exit2
  2374.     move.l    d1,PackedSize(a5)
  2375.     add.l    d1,a2
  2376.     subq.l    #4,a2
  2377. .go
  2378.     bsr.w    GetLongWord
  2379.     lsr.l    #8,d1
  2380.     beq.w    ._ID_Exit2
  2381.     move.l    d1,OriginalSize(a5)
  2382.     andi.l    #$ffe00000,d1
  2383.     bne.w    ._ID_Exit2
  2384.     subq.l    #8,a0
  2385.     move.l    a0,StartFileID(a5)
  2386.     move.b    #'P',(a0)+
  2387.     move.b    #'P',(a0)+
  2388.     move.b    #'2',(a0)+
  2389.     move.b    #'0',(a0)
  2390.     lea    TITSText(pc),a0
  2391.     move.l    a0,AboutPacker(a5)
  2392.     moveq    #1,d0
  2393.     rts
  2394. ._ID_Exit2
  2395.     moveq    #0,d0
  2396.     rts
  2397. .tnt
  2398.     subq.l    #4,a2
  2399.     clr.w    (a2)
  2400.  
  2401.     bsr.w    TestFileSize
  2402.     beq.w    ._ID_Exit2
  2403.     move.l    d1,PackedSize(a5)
  2404.  
  2405.     bset    #7,(a2)
  2406.     add.l    d1,a2
  2407.  
  2408.     bra.b    .go
  2409.  
  2410. _ID_18051973
  2411.     btst.l    #id18051973,d3
  2412.     bne.w    _ID_Exit
  2413.     move.l    a0,a2
  2414.     addq.l    #2,a2
  2415.     bsr.w    TestFileSize
  2416.     beq.w    _ID_Exit
  2417.     move.l    d1,OriginalSize(a5)
  2418.     addq.l    #4,a2
  2419.     bsr.w    TestFileSize
  2420.     beq.w    _ID_Exit
  2421.     add.l    #14,d1
  2422.     move.l    d1,PackedSize(a5)
  2423.     subq.l    #4,a0
  2424.     move.l    a0,StartFileID(a5)
  2425.     move.l    #'CrM2',DisplayID(a5)
  2426.     lea    ViSLText(pc),a2
  2427.     move.l    a2,AboutPacker(a5)
  2428.     move.b    #'C',(a0)+
  2429.     move.b    #'r',(a0)+
  2430.     move.b    #'M',(a0)+
  2431.     move.b    #'2',(a0)
  2432.     moveq    #1,d0
  2433.     rts
  2434. _ID_0815
  2435.     btst.l    #id0815,d3
  2436.     bne.w    _ID_Exit
  2437.     move.l    a0,a2
  2438.     bsr.w    TestFileSize
  2439.     beq.w    _ID_Exit
  2440.     move.l    d1,OriginalSize(a5)
  2441.     addq.l    #4,a2
  2442.     bsr.w    TestFileSize
  2443.     beq.w    _ID_Exit
  2444.     add.l    #12,d1
  2445.     move.l    d1,PackedSize(a5)
  2446.     subq.l    #4,a0
  2447.     move.l    a0,StartFileID(a5)
  2448.     move.l    #'0815',DisplayID(a5)
  2449.     lea    Ace?Text(pc),a0
  2450.     move.l    a0,AboutPacker(a5)
  2451.     moveq    #1,d0
  2452.     rts
  2453. _ID_GC
  2454.     btst.l    #GC,d3
  2455.     bne.w    _ID_Exit
  2456.     move.l    #'!GC!',DisplayID(a5)
  2457.     move.b    #'P',-4(a0)
  2458.     move.b    #'P',-3(a0)
  2459.     move.b    #'2',-2(a0)
  2460.     move.b    #'0',-1(a0)
  2461.     bra.w    _IDpp20
  2462. _ID_ACE
  2463.     btst.l    #ACE,d3
  2464.     bne.w    _ID_Exit
  2465.     move.l    a0,a2
  2466.     addq.l    #4,a2
  2467.     bsr.w    TestFileSize
  2468.     beq.w    _ID_Exit
  2469.     move.l    d1,OriginalSize(a5)
  2470.     subq.l    #4,a2
  2471.     bsr.w    TestFileSize
  2472.     beq.w    _ID_Exit
  2473.     add.l    #12,d1
  2474.     move.l    d1,PackedSize(a5)
  2475.     subq.l    #4,a0
  2476.     move.l    a0,StartFileID(a5)
  2477.     move.l    #'ACE!',DisplayID(a5)
  2478.     lea    ByteKillerText(pc),a0
  2479.     move.l    a0,AboutPacker(a5)
  2480.     moveq    #1,d0
  2481.     rts
  2482. _ID_ALC0
  2483.     btst.l    #ALC0,d3
  2484.     bne.w    _ID_Exit
  2485.     move.l    a0,a2
  2486.     bsr.w    TestFileSize
  2487.     beq.w    _ID_Exit
  2488.     move.l    d1,OriginalSize(a5)
  2489.     addq.l    #4,a2
  2490.     bsr.w    TestFileSize
  2491.     beq.w    _ID_Exit
  2492.     add.l    #14,d1
  2493.     move.l    d1,PackedSize(a5)
  2494.     subq.l    #4,a0
  2495.     move.l    a0,StartFileID(a5)
  2496.     move.l    #'ALC0',DisplayID(a5)
  2497.     lea    ALC0Text(pc),a0
  2498.     move.l    a0,AboutPacker(a5)
  2499.     moveq    #1,d0
  2500.     rts
  2501. _ID_ARP3
  2502.     btst.l    #ARP3,d3
  2503.     bne.w    _ID_Exit
  2504.     move.l    a0,a2
  2505.     bsr.w    TestFileSize
  2506.     beq.w    _ID_Exit
  2507.     add.l    d1,a2
  2508.     add.l    #$20,d1
  2509.     move.l    d1,PackedSize(a5)
  2510.     lea    $18(a2),a2
  2511.     bsr.w    TestFileSize
  2512.     beq.w    _ID_Exit
  2513.     move.l    d1,OriginalSize(a5)
  2514.  
  2515.     tst.l    8-4(A0)
  2516.     beq.b    .skip
  2517.     move.l    A2,-(A7)
  2518.     move.l    A0,A2
  2519.     addq.l    #4,A2
  2520.     bsr.w    GetLongWord
  2521.     sub.l    #$C00000,D1
  2522.     add.l    d1,PackedSize(a5)
  2523.     move.l    (A7)+,A2
  2524.     add.l    D1,A2
  2525.     bsr.w    GetLongWord
  2526.     add.l    d1,OriginalSize(a5)
  2527. .skip
  2528.     tst.l    12-4(A0)
  2529.     beq.b    .skip2
  2530.     move.l    A2,-(A7)
  2531.     move.l    A0,A2
  2532.     addq.l    #8,A2
  2533.     bsr.w    GetLongWord
  2534.     sub.l    #$200000,D1
  2535.     add.l    d1,PackedSize(a5)
  2536.     move.l    (A7)+,A2
  2537.     add.l    D1,A2
  2538.     bsr.w    GetLongWord
  2539.     add.l    d1,OriginalSize(a5)
  2540. .skip2
  2541.     subq.l    #4,a0
  2542.     move.l    a0,StartFileID(a5)
  2543.     move.l    #'ARP3',DisplayID(a5)
  2544.     lea    ByteKillerText(pc),a0
  2545.     move.l    a0,AboutPacker(a5)
  2546.     moveq    #1,d0
  2547.     rts
  2548. _ID_ARPF
  2549.     btst.l    #ARPF,d3
  2550.     bne.w    _ID_Exit
  2551.     move.l    a0,a2
  2552.     bsr.w    TestFileSize
  2553.     beq.w    _ID_Exit
  2554.     add.l    d1,a2
  2555.     add.l    #12,d1
  2556.     move.l    d1,PackedSize(a5)
  2557.     addq.l    #4,a2
  2558.     bsr.w    TestFileSize
  2559.     beq.w    _ID_Exit
  2560.     move.l    d1,OriginalSize(a5)
  2561.     subq.l    #4,a0
  2562.     move.l    a0,StartFileID(a5)
  2563.     move.l    #'ARPF',DisplayID(a5)
  2564.     lea    ByteKillerText(pc),a0
  2565.     move.l    a0,AboutPacker(a5)
  2566.     moveq    #1,d0
  2567.     rts
  2568. _ID_ATM5
  2569.     btst.l    #ATM5,d3
  2570.     bne.w    _ID_Exit
  2571.     move.l    a0,a2
  2572.     bsr.w    TestFileSize
  2573.     beq.w    _ID_Exit
  2574.     move.l    d1,OriginalSize(a5)
  2575.     addq.l    #4,a2
  2576.     bsr.w    TestFileSize
  2577.     beq.w    _ID_Exit
  2578.     add.l    #12,d1
  2579.     move.l    d1,PackedSize(a5)
  2580.     subq.l    #4,a0
  2581.     move.l    a0,StartFileID(a5)
  2582.     move.l    #'ATM5',DisplayID(a5)
  2583.     lea    IAMText(pc),a0
  2584.     move.l    a0,AboutPacker(a5)
  2585.     moveq    #1,d0
  2586.     rts
  2587. _ID_ATN
  2588.     btst.l    #ATN,d3
  2589.     bne.w    _ID_Exit
  2590.     move.l    a0,a2
  2591.     bsr.w    TestFileSize
  2592.     beq.w    _ID_Exit
  2593.     move.l    d1,OriginalSize(a5)
  2594.     addq.l    #4,a2
  2595.     bsr.w    TestFileSize
  2596.     beq.w    _ID_Exit
  2597.     add.l    #50,d1
  2598.     move.l    d1,PackedSize(a5)
  2599.     subq.l    #4,a0
  2600.     move.l    a0,StartFileID(a5)
  2601.     move.l    #'ATN!',DisplayID(a5)
  2602.     lea    ATNText(pc),a0
  2603.     move.l    a0,AboutPacker(a5)
  2604.     moveq    #1,d0
  2605.     rts
  2606. _ID_ATOM
  2607.     btst.l    #ATOM,d4
  2608.     bne.w    _ID_Exit
  2609.     move.l    a0,a2
  2610.     bsr.w    TestFileSize
  2611.     beq.w    _ID_Exit
  2612.     move.l    d1,OriginalSize(a5)
  2613.     addq.l    #4,a2
  2614.     bsr.w    TestFileSize
  2615.     beq.w    _ID_Exit
  2616.     add.l    #12,d1
  2617.     move.l    d1,PackedSize(a5)
  2618.     subq.l    #4,a0
  2619.     move.l    a0,StartFileID(a5)
  2620.     move.l    #'ATOM',DisplayID(a5)
  2621.     lea    Ace?Text(pc),a0
  2622.     move.l    a0,AboutPacker(a5)
  2623.     moveq    #1,d0
  2624.     rts
  2625. _ID_Ace?
  2626.     btst.l    #Ace?,d4
  2627.     bne.w    _ID_Exit
  2628.     move.l    a0,a2
  2629.     addq.l    #4,a2
  2630.     bsr.w    TestFileSize
  2631.     beq.w    _ID_Exit
  2632.     move.l    d1,OriginalSize(a5)
  2633.     subq.l    #4,a2
  2634.     bsr.w    TestFileSize
  2635.     beq.w    _ID_Exit
  2636.     move.l    d1,PackedSize(a5)
  2637.     subq.l    #4,a0
  2638.     move.l    a0,StartFileID(a5)
  2639.     move.l    #'Ace?',DisplayID(a5)
  2640.     lea    Ace?Text(pc),a0
  2641.     move.l    a0,AboutPacker(a5)
  2642.     moveq    #1,d0
  2643.     rts
  2644. _ID_ArcD
  2645.     btst.l    #ArcD,d4
  2646.     bne.w    _ID_Exit
  2647.     move.l    a0,a2
  2648.     bsr.w    TestFileSize
  2649.     beq.w    _ID_Exit
  2650.     move.l    d1,OriginalSize(a5)
  2651.     addq.l    #4,a2
  2652.     bsr.w    TestFileSize
  2653.     beq.w    _ID_Exit
  2654.     move.l    d1,PackedSize(a5)
  2655.     subq.l    #4,a0
  2656.     move.l    a0,StartFileID(a5)
  2657.     move.l    #'ArcD',DisplayID(a5)
  2658.     lea    ArcDText(pc),a0
  2659.     move.l    a0,AboutPacker(a5)
  2660.     moveq    #1,d0
  2661.     rts
  2662. _ID_ArcR
  2663.     btst.l    #ArcR,d4
  2664.     bne.w    _ID_Exit
  2665.     move.l    a0,a2
  2666.     bsr.w    TestFileSize
  2667.     beq.w    _ID_Exit
  2668.     add.l    #44,d1
  2669.     move.l    d1,OriginalSize(a5)
  2670.     addq.l    #4,a2
  2671.     bsr.w    TestFileSize
  2672.     beq.w    _ID_Exit
  2673.     move.l    d1,PackedSize(a5)
  2674.     subq.l    #4,a0
  2675.     move.l    a0,StartFileID(a5)
  2676.     move.l    #'ArcR',DisplayID(a5)
  2677.     lea    ArcDText(pc),a0
  2678.     move.l    a0,AboutPacker(a5)
  2679.     moveq    #1,d0
  2680.     rts
  2681. _ID_arcD
  2682.     btst.l    #arcD,d4
  2683.     bne.w    _ID_Exit
  2684.     move.l    a0,a2
  2685.     bclr.b    #7,(a2)
  2686.     bsr.w    TestFileSize
  2687.     beq.w    _ID_Exit
  2688.     move.l    d1,OriginalSize(a5)
  2689.     addq.l    #4,a2
  2690.     bsr.w    TestFileSize
  2691.     beq.w    _ID_Exit
  2692.     move.l    d1,PackedSize(a5)
  2693.     subq.l    #4,a0
  2694.     move.l    a0,StartFileID(a5)
  2695.     move.l    #'arcD',DisplayID(a5)
  2696.     lea    ArcDText(pc),a0
  2697.     move.l    a0,AboutPacker(a5)
  2698.     moveq    #1,d0
  2699.     rts
  2700. _ID_BDPI
  2701.     btst.l    #BDPI,d4
  2702.     bne.w    _ID_Exit
  2703.     move.l    a0,a2
  2704.     bsr.w    TestFileSize
  2705.     beq.w    _ID_Exit
  2706.     move.l    d1,OriginalSize(a5)
  2707.     addq.l    #4,a2
  2708.     bsr.w    TestFileSize
  2709.     beq.w    _ID_Exit
  2710.     add.l    #50,d1
  2711.     move.l    d1,PackedSize(a5)
  2712.     subq.l    #4,a0
  2713.     move.l    a0,StartFileID(a5)
  2714.     move.l    #'BDPI',DisplayID(a5)
  2715.     lea    DupaText(pc),a2
  2716.     move.l    a2,AboutPacker(a5)
  2717.     move.b    #'I',(a0)+
  2718.     move.b    #'M',(a0)+
  2719.     move.b    #'P',(a0)+
  2720.     move.b    #'!',(a0)
  2721.     moveq    #1,d0
  2722.     rts
  2723. _ID_BH72
  2724.     btst.l    #BH72,d4
  2725.     bne.w    _ID_Exit
  2726.     move.l    a0,a2
  2727.     addq.l    #4,a2
  2728.     bsr.w    TestFileSize
  2729.     beq.w    _ID_Exit
  2730.     move.l    d1,OriginalSize(a5)
  2731.     addq.l    #4,a2
  2732.     bsr.w    TestFileSize
  2733.     beq.w    _ID_Exit
  2734.     add.l    #18,d1
  2735.     move.l    d1,PackedSize(a5)
  2736.     subq.l    #4,a0
  2737.     move.l    a0,StartFileID(a5)
  2738.     move.l    #'BH72',DisplayID(a5)
  2739.     lea    StoneFakeText(pc),a2
  2740.     move.l    a2,AboutPacker(a5)
  2741.     move.b    #'S',(a0)+
  2742.     move.b    #'4',(a0)+
  2743.     move.b    #'0',(a0)+
  2744.     move.b    #'4',(a0)
  2745.     moveq    #1,d0
  2746.     rts
  2747. _ID_BH73
  2748.     btst.l    #BH73,d4
  2749.     bne.w    _ID_Exit
  2750.     move.l    a0,a2
  2751.     addq.l    #4,a2
  2752.     bsr.w    TestFileSize
  2753.     beq.w    _ID_Exit
  2754.     move.l    d1,OriginalSize(a5)
  2755.     addq.l    #4,a2
  2756.     bsr.w    TestFileSize
  2757.     beq.w    _ID_Exit
  2758.     add.l    #18,d1
  2759.     move.l    d1,PackedSize(a5)
  2760.     subq.l    #4,a0
  2761.     move.l    a0,StartFileID(a5)
  2762.     move.l    #'BH73',DisplayID(a5)
  2763.     lea    StoneFakeText(pc),a2
  2764.     move.l    a2,AboutPacker(a5)
  2765.     move.b    #'S',(a0)+
  2766.     move.b    #'4',(a0)+
  2767.     move.b    #'0',(a0)+
  2768.     move.b    #'4',(a0)
  2769.     moveq    #1,d0
  2770.     rts
  2771. _ID_BHC3
  2772.     btst.l    #BHC3,d4
  2773.     bne.w    _ID_Exit
  2774.     move.l    a0,a2
  2775.     bsr.w    TestFileSize
  2776.     beq.w    _ID_Exit
  2777.     move.l    d1,OriginalSize(a5)
  2778.     addq.l    #4,a2
  2779.     move.l    (A2)+,D2
  2780.     addq.w    #1,A2
  2781.     moveq    #0,D1
  2782.     move.b    (A2)+,D1
  2783.     add.w    D1,A2
  2784.     add.w    (A2)+,A2
  2785.     add.w    (A2)+,A2
  2786.     add.w    (A2)+,A2
  2787.     move.l    A2,D1
  2788.     add.l    D2,D1
  2789.     sub.l    A0,D1
  2790.     addq.l    #6,D1
  2791.     beq.w    _ID_Exit
  2792.     move.l    d1,PackedSize(a5)
  2793.     subq.l    #4,a0
  2794.     move.l    a0,StartFileID(a5)
  2795.     move.l    #'BHC3',DisplayID(a5)
  2796.     lea    BHC3Text(pc),a2
  2797.     move.l    a2,AboutPacker(a5)
  2798.     moveq    #1,d0
  2799.     rts
  2800. _ID_BOND
  2801.     btst.l    #BOND,d4
  2802.     bne.w    _ID_Exit
  2803.     move.l    a0,a2
  2804.     cmp.b    #'R',-5(a2)
  2805.     bne.b    NotShadow
  2806.     cmp.b    #'D',(a2)
  2807.     bne.b    NotShadow
  2808.     moveq    #38,d1
  2809.     bra.b    Shadow
  2810. NotShadow
  2811.     cmp.b    #'A',-5(a2)
  2812.     bne.w    _ID_Exit
  2813.     cmp.b    #'D',(a2)
  2814.     bne.w    _ID_Exit
  2815.     moveq    #26,d1
  2816. Shadow
  2817.     sub.l    d1,a2
  2818.     addq.l    #2,d1
  2819.     move.l    d1,PackedSize(a5)
  2820.     subq.l    #4,a2
  2821.     bsr.w    TestFileSize
  2822.     beq.w    _ID_Exit
  2823.     move.l    d1,OriginalSize(a5)
  2824.     moveq    #4,d2
  2825. DoIt
  2826.     bsr.w    GetLongWord
  2827.     beq.w    _ID_Exit
  2828.     cmp.l    d1,d2
  2829.     beq.b    LenOK
  2830.     addq.l    #4,d2
  2831.     subq.l    #4,a2
  2832.     bra.b    DoIt
  2833. LenOK
  2834.     bsr.w    TestFileSize
  2835.     beq.w    _ID_Exit
  2836.     add.l    d1,PackedSize(a5)
  2837.     move.l    a2,a0
  2838.     move.l    a0,StartFileID(a5)
  2839.     move.l    #'BOND',DisplayID(a5)
  2840.     lea    BondText(pc),a0
  2841.     move.l    a0,AboutPacker(a5)
  2842.     moveq    #1,d0
  2843.     rts
  2844. _ID_CHFC
  2845.     btst.l    #CHFC,d4
  2846.     bne.w    _ID_Exit
  2847.     move.l    #'CHFC',DisplayID(a5)
  2848.     move.b    #'P',-4(a0)
  2849.     move.b    #'P',-3(a0)
  2850.     move.b    #'2',-2(a0)
  2851.     move.b    #'0',-1(a0)
  2852.     bra.w    _IDpp20
  2853.  
  2854. _ID_CHFI
  2855.     btst.l    #CHFI,d4
  2856.     bne.w    _ID_Exit
  2857.     move.l    a0,a2
  2858.     bsr.w    TestFileSize
  2859.     beq.w    _ID_Exit
  2860.     move.l    d1,OriginalSize(a5)
  2861.     addq.l    #4,a2
  2862.     bsr.w    TestFileSize
  2863.     beq.w    _ID_Exit
  2864.     add.l    #50,d1
  2865.     move.l    d1,PackedSize(a5)
  2866.     subq.l    #4,a0
  2867.     move.l    a0,StartFileID(a5)
  2868.     move.l    #'CHFI',DisplayID(a5)
  2869.     lea    DupaText(pc),a2
  2870.     move.l    a2,AboutPacker(a5)
  2871.     move.b    #'I',(a0)+
  2872.     move.b    #'M',(a0)+
  2873.     move.b    #'P',(a0)+
  2874.     move.b    #'!',(a0)
  2875.     moveq    #1,d0
  2876.     rts
  2877. _ID_CMP1
  2878.     btst.l    #CMP1,d4
  2879.     bne.w    _ID_Exit
  2880.     move.l    a0,a2
  2881.     bsr.w    TestFileSize
  2882.     beq.w    _ID_Exit
  2883.     move.l    d1,OriginalSize(a5)
  2884.     clr.l    PackedSize(a5)
  2885.     subq.l    #4,a0
  2886.     move.l    a0,StartFileID(a5)
  2887.     move.l    #'CMP1',DisplayID(a5)
  2888.     lea    Ace?Text(pc),a0
  2889.     move.l    a0,AboutPacker(a5)
  2890.     moveq    #1,d0
  2891.     rts
  2892. _ID_CrM
  2893.     btst.l    #CrM,d4
  2894.     bne.w    _ID_Exit
  2895.     move.l    a0,a2
  2896.     addq.l    #2,a2
  2897.     bsr.w    TestFileSize
  2898.     beq.w    _ID_Exit
  2899.     move.l    d1,OriginalSize(a5)
  2900.     addq.l    #4,a2
  2901.     bsr.w    TestFileSize
  2902.     beq.w    _ID_Exit
  2903.     add.l    #14,d1
  2904.     move.l    d1,PackedSize(a5)
  2905.     subq.l    #4,a0
  2906.     move.l    a0,StartFileID(a5)
  2907.     move.l    #'CrM!',DisplayID(a5)
  2908.     lea    CrunchManiaText(pc),a0
  2909.     move.l    a0,AboutPacker(a5)
  2910.     moveq    #1,d0
  2911.     rts
  2912. _ID_CrM2
  2913.     btst.l    #CrM2,d4
  2914.     bne.w    _ID_Exit
  2915.     move.l    a0,a2
  2916.     addq.l    #2,a2
  2917.     bsr.w    TestFileSize
  2918.     beq.w    _ID_Exit
  2919.     move.l    d1,OriginalSize(a5)
  2920.     addq.l    #4,a2
  2921.     bsr.w    TestFileSize
  2922.     beq.w    _ID_Exit
  2923.     add.l    #14,d1
  2924.     move.l    d1,PackedSize(a5)
  2925.     subq.l    #4,a0
  2926.     move.l    a0,StartFileID(a5)
  2927.     move.l    #'CrM2',DisplayID(a5)
  2928.     lea    CrunchManiaText(pc),a0
  2929.     move.l    a0,AboutPacker(a5)
  2930.     moveq    #1,d0
  2931.     rts
  2932. _ID_Crm
  2933.     btst.l    #Crm,d4
  2934.     bne.w    _ID_Exit
  2935.     move.l    a0,a2
  2936.     addq.l    #2,a2
  2937.     bsr.w    TestFileSize
  2938.     beq.w    _ID_Exit
  2939.     move.l    d1,OriginalSize(a5)
  2940.     addq.l    #4,a2
  2941.     bsr.w    TestFileSize
  2942.     beq.w    _ID_Exit
  2943.     add.l    #14,d1
  2944.     move.l    d1,PackedSize(a5)
  2945.     subq.l    #4,a0
  2946.     move.l    a0,StartFileID(a5)
  2947.     move.l    #'Crm!',DisplayID(a5)
  2948.     lea    CrunchManiaText(pc),a0
  2949.     move.l    a0,AboutPacker(a5)
  2950.     moveq    #1,d0
  2951.     rts
  2952. _ID_Crm2
  2953.     btst.l    #Crm2,d4
  2954.     bne.w    _ID_Exit
  2955.     move.l    a0,a2
  2956.     addq.l    #2,a2
  2957.     bsr.w    TestFileSize
  2958.     beq.w    _ID_Exit
  2959.     move.l    d1,OriginalSize(a5)
  2960.     addq.l    #4,a2
  2961.     bsr.w    TestFileSize
  2962.     beq.w    _ID_Exit
  2963.     add.l    #14,d1
  2964.     move.l    d1,PackedSize(a5)
  2965.     subq.l    #4,a0
  2966.     move.l    a0,StartFileID(a5)
  2967.     move.l    #'Crm2',DisplayID(a5)
  2968.     lea    CrunchManiaText(pc),a0
  2969.     move.l    a0,AboutPacker(a5)
  2970.     moveq    #1,d0
  2971.     rts
  2972. _ID_CRND
  2973.     btst.l    #CRND,d4
  2974.     bne.w    _ID_Exit
  2975.     move.l    a0,a2
  2976.     bsr.w    TestFileSize
  2977.     beq.w    _ID_Exit
  2978.     move.l    d1,-(a7)
  2979.     add.l    #20,d1
  2980.     move.l    d1,PackedSize(a5)
  2981. ;    sub.l    #12,d1
  2982. ;    add.l    d1,a2
  2983.     add.l    (a7)+,a2
  2984.     bsr.w    TestFileSize
  2985.     beq.w    _ID_Exit
  2986.     move.l    d1,OriginalSize(a5)
  2987.     subq.l    #4,a0
  2988.     move.l    a0,StartFileID(a5)
  2989.     move.l    #'CRND',DisplayID(a5)
  2990.     lea    ByteKillerText(pc),a0
  2991.     move.l    a0,AboutPacker(a5)
  2992.     moveq    #1,d0
  2993.     rts
  2994. _ID_CRUa
  2995.     btst.l    #CRUa,d4
  2996.     bne.w    _ID_Exit
  2997.     move.l    a0,a2
  2998.     bsr.w    TestFileSize
  2999.     beq.w    _ID_Exit
  3000.     move.l    d1,OriginalSize(a5)
  3001.     addq.l    #4,a2
  3002.     bsr.w    TestFileSize
  3003.     beq.w    _ID_Exit
  3004.     add.l    #12,d1
  3005.     move.l    d1,PackedSize(a5)
  3006.     subq.l    #4,a0
  3007.     move.l    a0,StartFileID(a5)
  3008.     move.l    #'CRUa',DisplayID(a5)
  3009.     lea    Ace?Text(pc),a0
  3010.     move.l    a0,AboutPacker(a5)
  3011.     moveq    #1,d0
  3012.     rts
  3013. _ID_CRUN
  3014.     btst.l    #CRUN,d4
  3015.     bne.w    _ID_Exit
  3016.     move.l    a0,a2
  3017.     addq.l    #4,a2
  3018.     bsr.w    TestFileSize
  3019.     beq.w    _ID_Exit
  3020.     move.l    d1,OriginalSize(a5)
  3021.     subq.l    #4,a2
  3022.     bsr.w    TestFileSize
  3023.     beq.w    _ID_Exit
  3024.     add.l    #12,d1
  3025.     move.l    d1,PackedSize(a5)
  3026.     subq.l    #4,a0
  3027.     move.l    a0,StartFileID(a5)
  3028.     move.l    #'CRUN',DisplayID(a5)
  3029.     lea    ByteKillerText(pc),a0
  3030.     move.l    a0,AboutPacker(a5)
  3031.     moveq    #1,d0
  3032.     rts
  3033. _ID_CSFX
  3034.     btst.l    #CSFX,d4
  3035.     bne.w    _ID_Exit
  3036.     move.l    a0,a2
  3037.     bsr.w    TestFileSize
  3038.     beq.w    _ID_Exit
  3039.     move.l    d1,OriginalSize(a5)
  3040.     clr.l    PackedSize(a5)
  3041.     subq.l    #4,a0
  3042.     move.l    a0,StartFileID(a5)
  3043.     move.l    #'CSFX',DisplayID(a5)
  3044.     lea    Ace?Text(pc),a0
  3045.     move.l    a0,AboutPacker(a5)
  3046.     moveq    #1,d0
  3047.     rts
  3048. _ID_D815
  3049.     btst.l    #D815,d4
  3050.     bne.w    _ID_Exit
  3051.     move.l    a0,a2
  3052.     bsr.w    TestFileSize
  3053.     beq.w    _ID_Exit
  3054.     move.l    d1,OriginalSize(a5)
  3055.     addq.l    #4,a2
  3056.     bsr.w    TestFileSize
  3057.     beq.w    _ID_Exit
  3058.     add.l    #12,d1
  3059.     move.l    d1,PackedSize(a5)
  3060.     subq.l    #4,a0
  3061.     move.l    a0,StartFileID(a5)
  3062.     move.l    #'D815',DisplayID(a5)
  3063.     lea    Ace?Text(pc),a0
  3064.     move.l    a0,AboutPacker(a5)
  3065.     moveq    #1,d0
  3066.     rts
  3067. _ID_DHp2
  3068.     btst.l    #DHp2,d4
  3069.     bne.w    _ID_Exit
  3070.     move.l    a0,a2
  3071.     bsr.w    TestFileSize
  3072.     beq.w    _ID_Exit
  3073.     move.l    d1,OriginalSize(a5)
  3074.     addq.l    #4,a2
  3075.     bsr.w    TestFileSize
  3076.     beq.w    _ID_Exit
  3077.     addq.l    #4,d1
  3078.     move.l    d1,PackedSize(a5)
  3079.     subq.l    #4,a0
  3080.     move.l    a0,StartFileID(a5)
  3081.     move.l    #'DHp2',DisplayID(a5)
  3082.     lea    Ace?Text(pc),a2
  3083.     move.l    a2,AboutPacker(a5)
  3084.     moveq    #1,d0
  3085.     rts
  3086. _ID_DOUG
  3087.     btst.l    #DOUG,d4
  3088.     bne.w    _ID_Exit
  3089.     move.l    a0,a2
  3090.     addq.l    #4,a2
  3091.     bsr.w    TestFileSize
  3092.     beq.w    _ID_Exit
  3093.     move.l    d1,OriginalSize(a5)
  3094.     addq.l    #4,a2
  3095.     bsr.w    TestFileSize
  3096.     beq.w    _ID_Exit
  3097.     add.l    #16,d1
  3098.     move.l    d1,PackedSize(a5)
  3099.     subq.l    #4,a0
  3100.     move.l    a0,StartFileID(a5)
  3101.     move.l    #'DOUG',DisplayID(a5)
  3102.     lea    Stone3FakeText(pc),a2
  3103.     move.l    a2,AboutPacker(a5)
  3104.     move.b    #'S',(a0)+
  3105.     move.b    #'3',(a0)+
  3106.     move.b    #'0',(a0)+
  3107.     move.b    #'0',(a0)
  3108.     moveq    #1,d0
  3109.     rts
  3110. _ID_Dtpk
  3111.     btst.l    #Dtpk,d4
  3112.     bne.w    _ID_Exit
  3113.     move.l    a0,a2
  3114.     bsr.w    TestFileSize
  3115.     beq.w    _ID_Exit
  3116.     move.l    d1,OriginalSize(a5)
  3117.     clr.l    PackedSize(a5)
  3118.     subq.l    #4,a0
  3119.     move.l    a0,StartFileID(a5)
  3120.     move.l    #'Dtpk',DisplayID(a5)
  3121.     lea    Ace?Text(pc),a0
  3122.     move.l    a0,AboutPacker(a5)
  3123.     moveq    #1,d0
  3124.     rts
  3125. _ID_Dupa
  3126.     btst.l    #Dupa,d4
  3127.     bne.w    _ID_Exit
  3128.     move.l    a0,a2
  3129.     bsr.w    TestFileSize
  3130.     beq.w    _ID_Exit
  3131.     move.l    d1,OriginalSize(a5)
  3132.     addq.l    #4,a2
  3133.     bsr.w    TestFileSize
  3134.     beq.w    _ID_Exit
  3135.     add.l    #50,d1
  3136.     move.l    d1,PackedSize(a5)
  3137.     subq.l    #4,a0
  3138.     move.l    a0,StartFileID(a5)
  3139.     move.l    #'Dupa',DisplayID(a5)
  3140.     lea    DupaText(pc),a2
  3141.     move.l    a2,AboutPacker(a5)
  3142.     move.b    #'I',(a0)+
  3143.     move.b    #'M',(a0)+
  3144.     move.b    #'P',(a0)+
  3145.     move.b    #'!',(a0)
  3146.     moveq    #1,d0
  3147.     rts
  3148. _ID_EDAM
  3149.     btst.l    #EDAM,d4
  3150.     bne.w    _ID_Exit
  3151.     move.l    a0,a2
  3152.     bsr.w    TestFileSize
  3153.     beq.w    _ID_Exit
  3154.     move.l    d1,OriginalSize(a5)
  3155.     addq.l    #4,a2
  3156.     bsr.w    TestFileSize
  3157.     beq.w    _ID_Exit
  3158.     add.l    #50,d1
  3159.     move.l    d1,PackedSize(a5)
  3160.     subq.l    #4,a0
  3161.     move.l    a0,StartFileID(a5)
  3162.     move.l    #'EDAM',DisplayID(a5)
  3163.     lea    DupaText(pc),a2
  3164.     move.l    a2,AboutPacker(a5)
  3165.     move.b    #'I',(a0)+
  3166.     move.b    #'M',(a0)+
  3167.     move.b    #'P',(a0)+
  3168.     move.b    #'!',(a0)
  3169.     moveq    #1,d0
  3170.     rts
  3171. _ID_ESL
  3172.     btst.l    #ESL,d4
  3173.     bne.w    _ID_Exit
  3174.     move.l    #'ESL!',DisplayID(a5)
  3175.     move.b    #'P',-4(a0)
  3176.     move.b    #'P',-3(a0)
  3177.     move.b    #'2',-2(a0)
  3178.     move.b    #'0',-1(a0)
  3179.     bra.w    _IDpp20
  3180. _ID_FB
  3181.     btst.l    #FB,d4
  3182.     bne.w    _ID_Exit
  3183.     move.l    a0,a2
  3184.     bsr.w    TestFileSize
  3185.     beq.w    _ID_Exit
  3186.     move.l    d1,OriginalSize(a5)
  3187.     addq.l    #4,a2
  3188.     bsr.w    TestFileSize
  3189.     beq.w    _ID_Exit
  3190.     add.l    #18,d1
  3191.     move.l    d1,PackedSize(a5)
  3192.     subq.l    #4,a0
  3193.     move.l    a0,StartFileID(a5)
  3194.     move.l    #'FB@@',DisplayID(a5)
  3195.     lea    LZWHText(pc),a2
  3196.     move.l    a2,AboutPacker(a5)
  3197.     move.b    #'L',(a0)+
  3198.     move.b    #'Z',(a0)+
  3199.     move.b    #'W',(a0)+
  3200.     move.b    #'H',(a0)
  3201.     moveq    #1,d0
  3202.     rts
  3203. _ID_FIRE:
  3204.     btst.l    #FIRE,d4
  3205.     bne.w    _ID_Exit
  3206.     move.l    a0,a2
  3207.     addq.l    #4,a2
  3208.     bsr.w    TestFileSize
  3209.     beq.w    _ID_Exit
  3210.     move.l    d1,OriginalSize(a5)
  3211.     subq.l    #4,a2
  3212.     bsr.w    TestFileSize
  3213.     beq.w    _ID_Exit
  3214.     move.l    d1,PackedSize(a5)
  3215.     subq.l    #4,a0
  3216.     move.l    a0,StartFileID(a5)
  3217.     move.l    #'FIRE',DisplayID(a5)
  3218.     lea    Ace?Text(pc),a0
  3219.     move.l    a0,AboutPacker(a5)
  3220.     moveq    #1,d0
  3221.     rts
  3222. _ID_FLT
  3223.     btst.l    #FLT,d4
  3224.     bne.w    _ID_Exit
  3225.     move.l    a0,a2
  3226.     bsr.w    TestFileSize
  3227.     beq.w    _ID_Exit
  3228.     move.l    d1,OriginalSize(a5)
  3229.     addq.l    #4,a2
  3230.     bsr.w    TestFileSize
  3231.     beq.w    _ID_Exit
  3232.     add.l    #50,d1
  3233.     move.l    d1,PackedSize(a5)
  3234.     subq.l    #4,a0
  3235.     move.l    a0,StartFileID(a5)
  3236.     move.l    #'FLT!',DisplayID(a5)
  3237.     lea    DupaText(pc),a2
  3238.     move.l    a2,AboutPacker(a5)
  3239.     move.b    #'I',(a0)+
  3240.     move.b    #'M',(a0)+
  3241.     move.b    #'P',(a0)+
  3242.     move.b    #'!',(a0)
  3243.     moveq    #1,d0
  3244.     rts
  3245. _ID_FRED
  3246.     btst.l    #FRED,d4
  3247.     bne.w    _ID_Exit
  3248.     move.l    a0,a2
  3249.     bsr.w    TestFileSize
  3250.     beq.w    _ID_Exit
  3251.     move.l    d1,OriginalSize(a5)
  3252.     addq.l    #4,a2
  3253.     bsr.w    TestFileSize
  3254.     beq.w    _ID_Exit
  3255.     add.l    #50,d1
  3256.     move.l    d1,PackedSize(a5)
  3257.     subq.l    #4,a0
  3258.     move.l    a0,StartFileID(a5)
  3259.     move.l    #'FRED',DisplayID(a5)
  3260.     lea    DupaText(pc),a2
  3261.     move.l    a2,AboutPacker(a5)
  3262.     move.b    #'I',(a0)+
  3263.     move.b    #'M',(a0)+
  3264.     move.b    #'P',(a0)+
  3265.     move.b    #'!',(a0)
  3266.     moveq    #1,d0
  3267.     rts
  3268. _ID_GC2
  3269.     btst.l    #GC2,d5
  3270.     bne.w    _ID_Exit
  3271.     move.l    a0,a2
  3272.     bsr.w    TestFileSize
  3273.     beq.w    _ID_Exit
  3274.     move.l    d1,OriginalSize(a5)
  3275.     addq.l    #4,a2
  3276.     bsr.w    TestFileSize
  3277.     beq.w    _ID_Exit
  3278.     add.l    #12,d1
  3279.     move.l    d1,PackedSize(a5)
  3280.     subq.l    #4,a0
  3281.     move.l    a0,StartFileID(a5)
  3282.     move.l    #'GC!2',DisplayID(a5)
  3283.     lea    GraftGoldText(pc),a0
  3284.     move.l    a0,AboutPacker(a5)
  3285.     moveq    #1,d0
  3286.     rts
  3287. _ID_GC3
  3288.     btst.l    #GC3,d5
  3289.     bne.w    _ID_Exit
  3290.     move.l    a0,a2
  3291.     bsr.w    TestFileSize
  3292.     beq.w    _ID_Exit
  3293.     move.l    d1,OriginalSize(a5)
  3294.     addq.l    #4,a2
  3295.     bsr.w    TestFileSize
  3296.     beq.w    _ID_Exit
  3297.     add.l    #12,d1
  3298.     move.l    d1,PackedSize(a5)
  3299.     subq.l    #4,a0
  3300.     move.l    a0,StartFileID(a5)
  3301.     move.l    #'GC!3',DisplayID(a5)
  3302.     lea    GraftGoldText(pc),a0
  3303.     move.l    a0,AboutPacker(a5)
  3304.     moveq    #1,d0
  3305.     rts
  3306. _ID_GP11
  3307.     btst.l    #GP11,d5
  3308.     bne.w    _ID_Exit
  3309.     move.l    a0,a2
  3310.     lea    12(a2),a2
  3311.     bsr.w    GetLongWord
  3312.     beq.w    _ID_Exit
  3313.     move.l    d1,OriginalSize(a5)
  3314.     subq.l    #4,a2
  3315.     bsr.w    GetLongWord
  3316.     beq.w    _ID_Exit
  3317.     sub.l    d1,OriginalSize(a5)
  3318.     subq.l    #4,a2
  3319.     bsr.w    TestFileSize
  3320.     beq.w    _ID_Exit
  3321.     move.l    d1,PackedSize(a5)
  3322.     subq.l    #4,a0
  3323.     move.l    a0,StartFileID(a5)
  3324.     move.l    #'GP11',DisplayID(a5)
  3325.     lea    GP11Text(pc),a0
  3326.     move.l    a0,AboutPacker(a5)
  3327.     moveq    #1,d0
  3328.     rts
  3329. _ID_HAL
  3330.     btst.l    #HAL,d5
  3331.     bne.w    _ID_Exit
  3332.     move.l    a0,a2
  3333.     bsr.w    TestFileSize
  3334.     beq.w    _ID_Exit
  3335.     move.l    d1,OriginalSize(a5)
  3336.     addq.l    #4,a2
  3337.     bsr.w    TestFileSize
  3338.     beq.w    _ID_Exit
  3339.     addq.l    #4,d1
  3340.     move.l    d1,PackedSize(a5)
  3341.     subq.l    #4,a0
  3342.     move.l    a0,StartFileID(a5)
  3343.     move.l    #'HAL!',DisplayID(a5)
  3344.     lea    MasterText(pc),a2
  3345.     move.l    a2,AboutPacker(a5)
  3346.     move.b    #'L',(a0)+
  3347.     move.b    #'S',(a0)+
  3348.     move.b    #'D',(a0)+
  3349.     move.b    #'!',(a0)
  3350.     moveq    #1,d0
  3351.     rts
  3352. _ID_HUF
  3353.     btst.l    #HUF,d5
  3354.     bne.w    _ID_Exit
  3355.     move.l    a0,a2
  3356.     bsr.w    TestFileSize
  3357.     beq.w    _ID_Exit
  3358.     move.l    d1,OriginalSize(a5)
  3359.     clr.l    PackedSize(a5)
  3360.     subq.l    #4,a0
  3361.     move.l    a0,StartFileID(a5)
  3362.     move.l    #'HUF#',DisplayID(a5)
  3363.     lea    Ace?Text(pc),a0
  3364.     move.l    a0,AboutPacker(a5)
  3365.     moveq    #1,d0
  3366.     rts
  3367. _ID_ICE
  3368.     btst.l    #ICE,d5
  3369.     bne.w    _ID_Exit
  3370.     move.l    a0,a2
  3371.     addq.l    #4,a2
  3372.     bsr.w    TestFileSize
  3373.     beq.w    _ID_Exit
  3374.     move.l    d1,OriginalSize(a5)
  3375.     subq.l    #4,a2
  3376.     bsr.w    TestFileSize
  3377.     beq.w    _ID_Exit
  3378.     move.l    d1,PackedSize(a5)
  3379.     subq.l    #4,a0
  3380.     move.l    a0,StartFileID(a5)
  3381.     move.l    #'ICE!',DisplayID(a5)
  3382.     lea    IAMText(pc),a0
  3383.     move.l    a0,AboutPacker(a5)
  3384.     moveq    #1,d0
  3385.     rts
  3386. _ID_IFT?
  3387.     btst.l    #IFT?,d5
  3388.     bne.w    _ID_Exit
  3389.     move.l    a0,a2
  3390.     addq.l    #2,a2
  3391.     bsr.w    TestFileSize
  3392.     beq.w    _ID_Exit
  3393.     move.l    d1,OriginalSize(a5)
  3394.     addq.l    #4,a2
  3395.     bsr.w    TestFileSize
  3396.     beq.w    _ID_Exit
  3397.     add.l    #14,d1
  3398.     move.l    d1,PackedSize(a5)
  3399.     subq.l    #4,a0
  3400.     move.l    a0,StartFileID(a5)
  3401.     move.l    #'IFT?',DisplayID(a5)
  3402.     lea    ViSLText(pc),a2
  3403.     move.l    a2,AboutPacker(a5)
  3404.     move.b    #'C',(a0)+
  3405.     move.b    #'r',(a0)+
  3406.     move.b    #'M',(a0)+
  3407.     move.b    #'2',(a0)
  3408.     moveq    #1,d0
  3409.     rts
  3410. _ID_IMP
  3411.     btst.l    #IMP,d5
  3412.     bne.w    _ID_Exit
  3413.     move.l    a0,a2
  3414.     bsr.w    TestFileSize
  3415.     beq.w    _ID_Exit
  3416.     move.l    d1,OriginalSize(a5)
  3417.     addq.l    #4,a2
  3418.     bsr.w    TestFileSize
  3419.     beq.w    _ID_Exit
  3420.     add.l    #50,d1
  3421.     move.l    d1,PackedSize(a5)
  3422.     subq.l    #4,a0
  3423.     move.l    a0,StartFileID(a5)
  3424.     move.l    #'IMP!',DisplayID(a5)
  3425.     lea    IMPText(pc),a0
  3426.     move.l    a0,AboutPacker(a5)
  3427.     moveq    #1,d0
  3428.     rts
  3429. _ID_Ice
  3430.     btst.l    #Ice,d5
  3431.     bne.w    _ID_Exit
  3432.     move.l    a0,a2
  3433.     addq.l    #4,a2
  3434.     bsr.w    TestFileSize
  3435.     beq.w    _ID_Exit
  3436.     move.l    d1,OriginalSize(a5)
  3437.     subq.l    #4,a2
  3438.     bsr.w    TestFileSize
  3439.     beq.w    _ID_Exit
  3440. ;    add.l    #17,d1
  3441.     move.l    d1,PackedSize(a5)
  3442.     subq.l    #4,a0
  3443.     move.l    a0,StartFileID(a5)
  3444.     move.l    #'Ice!',DisplayID(a5)
  3445.     lea    Ace?Text(pc),a0
  3446.     move.l    a0,AboutPacker(a5)
  3447.     moveq    #1,d0
  3448.     rts
  3449. _ID_KDUB
  3450.     btst.l    #KDUB,d5
  3451.     bne.w    _ID_Exit
  3452.     move.l    a0,a2
  3453.     bsr.w    TestFileSize
  3454.     beq.w    _ID_Exit
  3455.     move.l    d1,OriginalSize(a5)
  3456.     addq.l    #4,a2
  3457.     bsr.w    TestFileSize
  3458.     beq.w    _ID_Exit
  3459.     addq.l    #4,d1
  3460.     move.l    d1,PackedSize(a5)
  3461.     subq.l    #4,a0
  3462.     move.l    a0,StartFileID(a5)
  3463.     move.l    #'KDUB',DisplayID(a5)
  3464.     lea    MasterText(pc),a2
  3465.     move.l    a2,AboutPacker(a5)
  3466.     move.b    #'L',(a0)+
  3467.     move.b    #'S',(a0)+
  3468.     move.b    #'D',(a0)+
  3469.     move.b    #'!',(a0)
  3470.     moveq    #1,d0
  3471.     rts
  3472. _ID_LR88
  3473.     btst.l    #LR88,d5
  3474.     bne.w    _ID_Exit
  3475.     move.l    #'LR88',DisplayID(a5)
  3476.     move.b    #'P',-4(a0)
  3477.     move.b    #'P',-3(a0)
  3478.     move.b    #'2',-2(a0)
  3479.     move.b    #'0',-1(a0)
  3480.     bra.w    _IDpp20
  3481. _ID_LSD
  3482.     btst.l    #LSD,d5
  3483.     bne.w    _ID_Exit
  3484.     move.l    a0,a2
  3485.     bsr.w    TestFileSize
  3486.     beq.w    _ID_Exit
  3487.     move.l    d1,OriginalSize(a5)
  3488.     addq.l    #4,a2
  3489.     bsr.w    TestFileSize
  3490.     beq.w    _ID_Exit
  3491.     addq.l    #4,d1
  3492.     move.l    d1,PackedSize(a5)
  3493.     subq.l    #4,a0
  3494.     move.l    a0,StartFileID(a5)
  3495.     move.l    #'LSD!',DisplayID(a5)
  3496.     lea    MasterText(pc),a0
  3497.     move.l    a0,AboutPacker(a5)
  3498.     moveq    #1,d0
  3499.     rts
  3500. _ID_LZDA
  3501.     btst.l    #LZDA,d5
  3502.     bne.w    _ID_Exit
  3503.     move.l    a0,a2
  3504.     bsr.w    TestFileSize
  3505.     beq.w    _ID_Exit
  3506.     move.l    d1,OriginalSize(a5)
  3507.     clr.l    PackedSize(a5)
  3508.     subq.l    #4,a0
  3509.     move.l    a0,StartFileID(a5)
  3510.     move.l    #'LZDA',DisplayID(a5)
  3511.     lea    Ace?Text(pc),a0
  3512.     move.l    a0,AboutPacker(a5)
  3513.     moveq    #1,d0
  3514.     rts
  3515. _ID_LZSS
  3516.     btst.l    #LZSS,d5
  3517.     bne.w    _ID_Exit
  3518.     move.l    a0,a2
  3519.     bsr.w    TestFileSize
  3520.     beq.w    _ID_Exit
  3521.     move.l    d1,OriginalSize(a5)
  3522.     addq.l    #4,a2
  3523.     bsr.w    TestFileSize
  3524.     beq.w    _ID_Exit
  3525.     add.l    #12,d1
  3526.     move.l    d1,PackedSize(a5)
  3527.     subq.l    #4,a0
  3528.     move.l    a0,StartFileID(a5)
  3529.     move.l    #'LZSS',DisplayID(a5)
  3530.     lea    Ace?Text(pc),a0
  3531.     move.l    a0,AboutPacker(a5)
  3532.     moveq    #1,d0
  3533.     rts
  3534. _ID_LZWH
  3535.     btst.l    #LZWH,d5
  3536.     bne.w    _ID_Exit
  3537.     move.l    a0,a2
  3538.     bsr.w    TestFileSize
  3539.     beq.w    _ID_Exit
  3540.     move.l    d1,OriginalSize(a5)
  3541.     addq.l    #4,a2
  3542.     bsr.w    TestFileSize
  3543.     beq.w    _ID_Exit
  3544.     add.l    #18,d1
  3545.     move.l    d1,PackedSize(a5)
  3546.     subq.l    #4,a0
  3547.     move.l    a0,StartFileID(a5)
  3548.     move.l    #'LZWH',DisplayID(a5)
  3549.     lea    Ace?Text(pc),a0
  3550.     move.l    a0,AboutPacker(a5)
  3551.     moveq    #1,d0
  3552.     rts
  3553. _ID_LeCr
  3554.     btst.l    #LeCr,d5
  3555.     bne.w    _ID_Exit
  3556.     move.l    a0,a2
  3557.     addq.l    #4,a2
  3558.     bsr.w    TestFileSize
  3559.     beq.w    _ID_Exit
  3560.     add.l    #32,d1
  3561.     move.l    d1,OriginalSize(a5)
  3562.     subq.l    #4,a2
  3563.     bsr.w    TestFileSize
  3564.     beq.w    _ID_Exit
  3565.     add.l    #50,d1
  3566.     move.l    d1,PackedSize(a5)
  3567.     subq.l    #4,a0
  3568.     move.l    a0,StartFileID(a5)
  3569.     move.l    #'LeCr',DisplayID(a5)
  3570.     lea    Ace?Text(pc),a0
  3571.     move.l    a0,AboutPacker(a5)
  3572.     moveq    #1,d0
  3573.     rts
  3574. _ID_MASM
  3575.     btst.l    #MASM,d5
  3576.     bne.w    _ID_Exit
  3577.     move.l    a0,a2
  3578.     addq.l    #4,a2
  3579.     bsr.w    TestFileSize
  3580.     beq.w    _ID_Exit
  3581.     move.l    d1,OriginalSize(a5)
  3582.     subq.l    #4,a2
  3583.     bsr.w    TestFileSize
  3584.     beq.w    _ID_Exit
  3585.     move.l    d1,PackedSize(a5)
  3586.     subq.l    #4,a0
  3587.     move.l    a0,StartFileID(a5)
  3588.     move.l    #'MASM',DisplayID(a5)
  3589.     lea    Ace?Text(pc),a0
  3590.     move.l    a0,AboutPacker(a5)
  3591.     moveq    #1,d0
  3592.     rts
  3593. _ID_MASS
  3594.     btst.l    #MASS,d5
  3595.     bne.w    _ID_Exit
  3596.     move.l    a0,a2
  3597.     addq.l    #4,a2
  3598.     bsr.w    TestFileSize
  3599.     beq.w    _ID_Exit
  3600.     move.l    d1,OriginalSize(a5)
  3601.     subq.l    #4,a2
  3602.     bsr.w    TestFileSize
  3603.     beq.w    _ID_Exit
  3604.     move.l    d1,PackedSize(a5)
  3605.     subq.l    #4,a0
  3606.     move.l    a0,StartFileID(a5)
  3607.     move.l    #'MASS',DisplayID(a5)
  3608.     lea    Ace?Text(pc),a0
  3609.     move.l    a0,AboutPacker(a5)
  3610.     moveq    #1,d0
  3611.     rts
  3612. _ID_MD12
  3613.     btst.l    #MD12,d5
  3614.     bne.w    _ID_Exit
  3615.     move.l    #'MD12',DisplayID(a5)
  3616.     move.b    #'P',-4(a0)
  3617.     move.b    #'P',-3(a0)
  3618.     move.b    #'2',-2(a0)
  3619.     move.b    #'0',-1(a0)
  3620.     bra.w    _IDpp20
  3621.  
  3622. _ID_MICK
  3623.     btst.l    #MICK,d5
  3624.     bne.w    _ID_Exit
  3625.     move.l    a0,a2
  3626.     addq.l    #4,a2
  3627.     bsr.w    TestFileSize
  3628.     beq.w    _ID_Exit
  3629.     move.l    d1,OriginalSize(a5)
  3630.     subq.l    #4,a2
  3631.     bsr.w    TestFileSize
  3632.     beq.w    _ID_Exit
  3633.     move.l    d1,PackedSize(a5)
  3634.     subq.l    #4,a0
  3635.     move.l    a0,StartFileID(a5)
  3636.     move.l    #'MICK',DisplayID(a5)
  3637.     lea    TSMText(pc),a2
  3638.     move.l    a2,AboutPacker(a5)
  3639.     move.b    #'I',(a0)+
  3640.     move.b    #'c',(a0)+
  3641.     move.b    #'e',(a0)+
  3642.     move.b    #'!',(a0)
  3643.     moveq    #1,d0
  3644.     rts
  3645. _ID_MTP1
  3646.     btst.l    #MTP1,d5
  3647.     bne.w    _ID_Exit
  3648.     move.l    a0,a2
  3649.     bsr.w    TestFileSize
  3650.     beq.w    _ID_Exit
  3651.     move.l    d1,OriginalSize(a5)
  3652.     clr.l    PackedSize(a5)
  3653.     subq.l    #4,a0
  3654.     move.l    a0,StartFileID(a5)
  3655.     move.l    #'MTP1',DisplayID(a5)
  3656.     lea    Ace?Text(pc),a0
  3657.     move.l    a0,AboutPacker(a5)
  3658.     moveq    #1,d0
  3659.     rts
  3660. _ID_MTPS
  3661.     btst.l    #MTPS,d5
  3662.     bne.w    _ID_Exit
  3663.     move.l    a0,a2
  3664.     bsr.w    TestFileSize
  3665.     beq.w    _ID_Exit
  3666.     move.l    d1,OriginalSize(a5)
  3667.     clr.l    PackedSize(a5)
  3668.     subq.l    #4,a0
  3669.     move.l    a0,StartFileID(a5)
  3670.     move.l    #'MTPS',DisplayID(a5)
  3671.     lea    Ace?Text(pc),a0
  3672.     move.l    a0,AboutPacker(a5)
  3673.     moveq    #1,d0
  3674.     rts
  3675. _ID_MWC1
  3676.     btst.l    #MWC1,d5
  3677.     bne.w    _ID_Exit
  3678.     move.l    a0,a2
  3679.     bsr.w    TestFileSize
  3680.     beq.w    _ID_Exit
  3681.     move.l    d1,OriginalSize(a5)
  3682.     addq.l    #4,a2
  3683.     bsr.w    TestFileSize
  3684.     beq.w    _ID_Exit
  3685.     add.l    #18,d1
  3686.     move.l    d1,PackedSize(a5)
  3687.     subq.l    #4,a0
  3688.     move.l    a0,StartFileID(a5)
  3689.     move.l    #'MWC1',DisplayID(a5)
  3690.     lea    RNCFakeText(pc),a2
  3691.     move.l    a2,AboutPacker(a5)
  3692.     move.b    #'R',(a0)+
  3693.     move.b    #'N',(a0)+
  3694.     move.b    #'C',(a0)+
  3695.     move.b    #1,(a0)
  3696.     moveq    #1,d0
  3697.     rts
  3698. _ID_PAC1
  3699.     btst.l    #PAC1,d5
  3700.     bne.w    _ID_Exit
  3701.     move.l    a0,a2
  3702.     bsr.w    TestFileSize
  3703.     beq.w    _ID_Exit
  3704.     move.l    d1,OriginalSize(a5)
  3705.     addq.l    #4,a2
  3706.     bsr.w    TestFileSize
  3707.     beq.w    _ID_Exit
  3708.     add.l    #18,d1
  3709.     move.l    d1,PackedSize(a5)
  3710.     subq.l    #4,a0
  3711.     move.l    a0,StartFileID(a5)
  3712.     move.l    #'PAC1',DisplayID(a5)
  3713.     lea    RNCFakeText(pc),a2
  3714.     move.l    a2,AboutPacker(a5)
  3715.     move.b    #'R',(a0)+
  3716.     move.b    #'N',(a0)+
  3717.     move.b    #'C',(a0)+
  3718.     move.b    #1,(a0)
  3719.     moveq    #1,d0
  3720.     rts
  3721. _ID_PACK
  3722.     cmp.b    #'V',(a0)
  3723.     bne.w    _ID_Exit
  3724.     cmp.b    #'1',1(a0)
  3725.     bne.w    _ID_Exit
  3726.     cmp.b    #'.',2(a0)
  3727.     bne.w    _ID_Exit
  3728.     cmp.b    #'2',3(a0)
  3729.     bne.w    _ID_Exit
  3730.  
  3731.     btst.l    #PACKV12,d5
  3732.     bne.w    _ID_Exit
  3733.     move.l    a0,a2
  3734.     addq.l    #4,a2
  3735.     bsr.w    TestFileSize
  3736.     beq.w    _ID_Exit
  3737.     move.l    d1,OriginalSize(a5)
  3738.     addq.l    #4,a2
  3739.     bsr.w    TestFileSize
  3740.     beq.w    _ID_Exit
  3741.     addq.l    #8,d1
  3742.     move.l    d1,PackedSize(a5)
  3743.     subq.l    #4,a0
  3744.     move.l    a0,StartFileID(a5)
  3745.     move.l    #'PACK',DisplayID(a5)
  3746.     lea    Master3Text(pc),a2
  3747.     move.l    a2,AboutPacker(a5)
  3748.     moveq    #1,d0
  3749.     rts
  3750. _ID_PARA
  3751.     btst.l    #PARA,d5
  3752.     bne.w    _ID_Exit
  3753.     move.l    a0,a2
  3754.     bsr.w    TestFileSize
  3755.     beq.w    _ID_Exit
  3756.     move.l    d1,OriginalSize(a5)
  3757.     addq.l    #4,a2
  3758.     bsr.w    TestFileSize
  3759.     beq.w    _ID_Exit
  3760.     add.l    #46,d1
  3761.     move.l    d1,PackedSize(a5)
  3762.     subq.l    #4,a0
  3763.     move.l    a0,StartFileID(a5)
  3764.     move.l    #'PARA',DisplayID(a5)
  3765.     lea    Ace?Text(pc),a0
  3766.     move.l    a0,AboutPacker(a5)
  3767.     moveq    #1,d0
  3768.     rts
  3769. PP20Var
  3770.     dc.l    ID
  3771. Mode
  3772.     dc.l    0
  3773. ID
  3774.     dc.l    0
  3775.     dc.b    0
  3776.  
  3777. best
  3778.     dc.b    'best',0
  3779. verygood
  3780.     dc.b    'very good',0
  3781. good
  3782.     dc.b    'good',0
  3783. mediocre
  3784.     dc.b    'mediocre',0
  3785. fast
  3786.     dc.b    'fast',0
  3787.     even
  3788.  
  3789. _ID_PP20
  3790.     btst.l    #PP20,d5
  3791.     bne.w    _ID_Exit
  3792.  
  3793.     move.l    #'PP20',DisplayID(a5)
  3794. _IDpp20
  3795.     move.l    a0,a2
  3796.  
  3797.     bsr.w    GetLongWord
  3798.  
  3799.     lea    best(pc),a2
  3800.     cmp.l    #$090A0C0D,d1        ; best
  3801.     beq.w    ModeOk
  3802.     lea    verygood(pc),a2
  3803.     cmp.l    #$090A0C0C,d1        ; very good
  3804.     beq.w    ModeOk
  3805.     lea    good(pc),a2
  3806.     cmp.l    #$090A0B0B,d1        ; good
  3807.     beq.w    ModeOk
  3808.     lea    mediocre(pc),a2
  3809.     cmp.l    #$090A0A0A,d1        ; mediocre
  3810.     beq.w    ModeOk
  3811.     lea    fast(pc),a2
  3812.     cmp.l    #$09090909,d1        ; fast
  3813.     bne.w    _ID_Exit
  3814. ModeOk
  3815.     lea    Mode(pc),a1
  3816.     move.l    a2,(a1)
  3817.     
  3818.     move.l    a0,a2
  3819.  
  3820. ;    cmpi.b    #$9,(a2)
  3821. ;    blt.w    _ID_Exit
  3822. ;    cmpi.b    #$d,(a2)
  3823. ;    bgt.w    _ID_Exit
  3824. ;    cmpi.b    #$9,1(a2)
  3825. ;    blt.w    _ID_Exit
  3826. ;    cmpi.b    #$d,1(a2)
  3827. ;    bgt.w    _ID_Exit
  3828. ;    cmpi.b    #$9,2(a2)
  3829. ;    blt.w    _ID_Exit
  3830. ;    cmpi.b    #$d,2(a2)
  3831. ;    bgt.w    _ID_Exit
  3832. ;    cmpi.b    #$9,3(a2)
  3833. ;    blt.w    _ID_Exit
  3834. ;    cmpi.b    #$d,3(a2)
  3835. ;    bgt.w    _ID_Exit
  3836.  
  3837.     subq.l    #4,a0
  3838.     move.l    a0,StartFileID(a5)
  3839.  
  3840.     tst.l    NextID(a5)
  3841.     bne.w    Next
  3842.  
  3843.     movem.l    d0-a6,-(a7)
  3844.  
  3845.     lea    ID(pc),a0
  3846.     move.l    DisplayID(a5),(a0)
  3847.  
  3848.     lea    PP20CalcText(pc),a0
  3849.     lea    PP20Var(pc),a1
  3850.     bsr.w    Printf
  3851.  
  3852.     movem.l    (a7)+,d0-a6
  3853.  
  3854.     tst.l    IncVar(a5)        ;czy inc file name
  3855.     bne.b    Trac
  3856.  
  3857.     bsr.w    TraceOrNot
  3858.     tst.l    d0
  3859.     beq.w    ContSeaID
  3860. Trac
  3861.     movem.l    d0-a6,-(a7)
  3862.  
  3863.     lea    PP20Calc2Text(pc),a0
  3864.     bsr.w    PrintStatus
  3865.  
  3866.     movem.l    (a7)+,d0-a6
  3867.  
  3868.     move.l    #-1,NextID(a5)
  3869.  
  3870.     move.l    a0,-(a7)
  3871.     addq.l    #2,a0
  3872.     move.l    AllocEnd(a5),a1
  3873.  
  3874.     move.l    DisplayID(A5),-(A7)
  3875.  
  3876.     bsr.w    Search            ;szukanie nastepnego pliku
  3877.     beq.w    PPNoFind        ;nic nie znalazl jezeli 0
  3878.     bmi.w    PPAbort            ;przerwanie szukania
  3879.  
  3880.     move.l    (A7)+,DisplayID(A5)
  3881.  
  3882.     move.l    StartFileID(a5),d0    ;nastepny ID
  3883. Tracing:
  3884.     move.l    (a7)+,a0        ;ID glowny PP20
  3885.     move.l    a0,StartFileID(a5)
  3886.  
  3887.     bsr.w    PP20Trace
  3888.     tst.l    d0
  3889.     beq.b    TraceError
  3890.  
  3891.     move.l    d1,OriginalSize(a5)
  3892.     move.l    d0,PackedSize(a5)
  3893.  
  3894. ;    move.l    #'PP20',DisplayID(a5)
  3895.     lea    PowerPackerText(pc),a0
  3896.     move.l    a0,AboutPacker(a5)
  3897.  
  3898. ;    move.l    StartFileID(A5),a0
  3899. ;    move.b    #'P',(a0)+
  3900. ;    move.b    #'P',(a0)+
  3901. ;    move.b    #'2',(a0)+
  3902. ;    move.b    #'0',(a0)
  3903.  
  3904.     moveq    #0,d0
  3905.     bsr.w    FillZero        ;skasowanie paska kolorem tla
  3906.  
  3907.     clr.l    NextID(a5)
  3908. Next:
  3909.     moveq    #1,d0
  3910.     rts
  3911. PPNoFind:
  3912.     addq.w    #4,A7
  3913.     move.l    AllocEnd(a5),d0
  3914.     bra.b    Tracing
  3915. PPAbort:
  3916.     addq.w    #4,A7
  3917.     move.l    (a7)+,StartFileID(a5)
  3918.     clr.l    NextID(a5)
  3919.     moveq    #-1,d0
  3920.     rts
  3921. TraceError:
  3922.     clr.l    OriginalSize(a5)
  3923.     clr.l    PackedSize(a5)
  3924. ;    move.l    #'PP20',DisplayID(a5)
  3925.     lea    PowerPackerText(pc),a0
  3926.     move.l    a0,AboutPacker(a5)
  3927.     clr.l    NextID(a5)
  3928.     moveq    #1,d0
  3929.     rts
  3930.  
  3931. TraceOrNot:
  3932.     movem.l    d1-a6,-(a7)
  3933.  
  3934.     bsr.w    WorkPointer
  3935.  
  3936.     lea    TraceOrNotText(pc),a1
  3937.     lea    TraceOrNotGad(pc),a2
  3938.     sub.l    a3,a3
  3939.     sub.l    a4,a4
  3940.     lea    SaveOrContTags(pc),a0
  3941.     move.l    ReqBase(a5),a6
  3942.     jsr    rtEZRequestA(a6)
  3943.  
  3944.     move.l    d0,-(a7)
  3945.  
  3946.     bsr.w    WaitPointer
  3947.  
  3948.     move.l    (a7)+,d0
  3949.  
  3950.     movem.l    (a7)+,d1-a6
  3951.  
  3952.     rts
  3953.  
  3954. TraceOrNotText:
  3955.     dc.b    'Calculate PP20 file length ?',0
  3956. TraceOrNotGad:
  3957.     dc.b    '_Yes|_No',0
  3958.     CNOP 0,2
  3959.  
  3960. ContSeaID:
  3961.     movem.l    d0-a6,-(a7)
  3962.     lea    ContinueSearch(pc),a0
  3963.     bsr.w    PrintStatus
  3964.     movem.l    (a7)+,d0-a6
  3965.  
  3966.     move.l    #'PP20',d0
  3967.     move.l    StartFileID(a5),a0
  3968.     addq.l    #4,a0
  3969.     move.l    AllocEnd(a5),a1
  3970.     bra.w    _ID_Exit
  3971.  
  3972. PP20Trace:
  3973.     movem.l    d0/a0,-(a7)
  3974.  
  3975.     lea    Trace(pc),a0
  3976.     bsr.w    PrintStatus
  3977.  
  3978.     movem.l    (a7)+,d0/a0
  3979.  
  3980.     sub.l    a0,d0
  3981.     lea    Pointer(pc),a1
  3982.     moveq    #0,d1
  3983.     sub.l    a2,a2
  3984.     move.l    XfdBase(a5),a6
  3985.     jsr    xfdScanData(a6)
  3986.  
  3987.     tst.w    d0
  3988.     bne.b    ScanError
  3989.  
  3990.     move.l    Pointer(pc),a0
  3991.     move.l    xfdsn_SaveLen(a0),d0
  3992.     move.l    xfdsn_Save(a0),a1
  3993.     add.l    d0,a1
  3994.     move.l    -(a1),d1
  3995.     lsr.l    #8,d1
  3996.  
  3997.     movem.l    d0-d1,-(a7)
  3998.  
  3999.     move.l    Pointer(pc),a1
  4000.     jsr    xfdFreeScanList(a6)
  4001.  
  4002.     movem.l    (a7)+,d0-d1
  4003.     rts
  4004. ScanError:
  4005.     jsr    xfdGetErrorText(a6)
  4006.     lea    StatusText(pc),a0
  4007.     lea    StatusVar(pc),a1
  4008.     move.l    d0,(a1)
  4009.     bsr.w    Printf
  4010.     moveq    #0,d0
  4011.     rts
  4012. Pointer:
  4013.     dc.l    0
  4014.  
  4015. _ID_PaCK
  4016.     btst.l    #PaCK,d5
  4017.     bne.w    _ID_Exit
  4018.     move.l    a0,a2
  4019.     addq.l    #2,a2
  4020.     bsr.w    TestFileSize
  4021.     beq.w    _ID_Exit
  4022.     move.l    d1,OriginalSize(a5)
  4023.     addq.l    #4,a2
  4024.     bsr.w    TestFileSize
  4025.     beq.w    _ID_Exit
  4026.     add.l    #14,d1
  4027.     move.l    d1,PackedSize(a5)
  4028.     subq.l    #4,a0
  4029.     move.l    a0,StartFileID(a5)
  4030.     move.l    #'PaCK',DisplayID(a5)
  4031.     lea    PaCKText(pc),a2
  4032.     move.l    a2,AboutPacker(a5)
  4033.     move.b    #'C',(a0)+
  4034.     move.b    #'r',(a0)+
  4035.     move.b    #'M',(a0)+
  4036.     move.b    #'!',(a0)
  4037.     moveq    #1,d0
  4038.     rts
  4039. _ID_PaK0
  4040.     btst.l    #PaK0,d5
  4041.     bne.w    _ID_Exit
  4042.     move.l    a0,a2
  4043.     bsr.w    TestFileSize
  4044.     beq.w    _ID_Exit
  4045.     move.l    d1,OriginalSize(a5)
  4046.     addq.l    #4,a2
  4047.     bsr.w    TestFileSize
  4048.     beq.w    _ID_Exit
  4049.     move.l    d1,PackedSize(a5)
  4050.     subq.l    #4,a0
  4051.     move.l    a0,StartFileID(a5)
  4052.     move.l    #'PaK0',DisplayID(a5)
  4053.     lea    Ace?Text(pc),a0
  4054.     move.l    a0,AboutPacker(a5)
  4055.     moveq    #1,d0
  4056.     rts
  4057. _ID_pack
  4058.     btst.l    #pack,d5
  4059.     bne.w    _ID_Exit
  4060.     move.l    a0,a2
  4061.     bsr.w    TestFileSize
  4062.     beq.w    _ID_Exit
  4063.     move.l    d1,OriginalSize(a5)
  4064.     move.l    #0,PackedSize(a5)
  4065.     subq.l    #4,a0
  4066.     move.l    a0,StartFileID(a5)
  4067.     move.l    #'pack',DisplayID(a5)
  4068.     lea    Ace?Text(pc),a0
  4069.     move.l    a0,AboutPacker(a5)
  4070.     moveq    #1,d0
  4071.     rts
  4072. _ID_RNC0
  4073.     btst.l    #RNC0,d5
  4074.     bne.w    _ID_Exit
  4075.     move.l    a0,a2
  4076.     addq.l    #4,a2
  4077.     bsr.w    TestFileSize
  4078.     beq.w    _ID_Exit
  4079.     move.l    d1,OriginalSize(a5)
  4080.     subq.l    #4,a2
  4081.     bsr.w    TestFileSize
  4082.     beq.w    _ID_Exit
  4083.     addq.l    #8,d1
  4084.     move.l    d1,PackedSize(a5)
  4085.     subq.l    #4,a0
  4086.     move.l    a0,StartFileID(a5)
  4087.     move.l    #'RNC0',DisplayID(a5)
  4088.     lea    Ace?Text(pc),a0
  4089.     move.l    a0,AboutPacker(a5)
  4090.     moveq    #1,d0
  4091.     rts
  4092. _ID_RNC1
  4093.     btst.l    #RNC1,d5
  4094.     bne.w    _ID_Exit
  4095.     move.l    a0,a2
  4096.     bsr.w    TestFileSize
  4097.     beq.w    _ID_Exit
  4098.     move.l    d1,OriginalSize(a5)
  4099.     addq.l    #4,a2
  4100.     bsr.w    TestFileSize
  4101.     beq.w    _ID_Exit
  4102.  
  4103.     tst.l    RNC_old(a5)
  4104.     bne.b    _RNC1
  4105.  
  4106.     add.l    #18,d1
  4107.     bra.b    Siz
  4108. _RNC1
  4109.     add.l    #12,d1
  4110. Siz
  4111.     move.l    d1,PackedSize(a5)
  4112.     subq.l    #4,a0
  4113.     move.l    a0,StartFileID(a5)
  4114.     move.l    #'RNC1',DisplayID(a5)
  4115.  
  4116.     tst.l    RNC_old(a5)
  4117.     bne.b    _RNC11
  4118.  
  4119.     lea    RNCText(pc),a0
  4120.     bra.b    Tex
  4121. _RNC11
  4122.     lea    RNCOldText(pc),a0
  4123. Tex
  4124.     move.l    a0,AboutPacker(a5)
  4125.     moveq    #1,d0
  4126.     rts
  4127. _ID_RNC2
  4128.     btst.l    #RNC2,d6
  4129.     bne.w    _ID_Exit
  4130.     move.l    a0,a2
  4131.     bsr.w    TestFileSize
  4132.     beq.w    _ID_Exit
  4133.     move.l    d1,OriginalSize(a5)
  4134.     addq.l    #4,a2
  4135.     bsr.w    TestFileSize
  4136.     beq.w    _ID_Exit
  4137.  
  4138.     tst.l    RNC_old(a5)
  4139.     bne.b    _RNC2
  4140.  
  4141.     add.l    #18,d1
  4142.     bra.b    Siz2
  4143. _RNC2
  4144.     add.l    #12,d1
  4145. Siz2
  4146.     move.l    d1,PackedSize(a5)
  4147.     subq.l    #4,a0
  4148.     move.l    a0,StartFileID(a5)
  4149.     move.l    #'RNC2',DisplayID(a5)
  4150.  
  4151.     tst.l    RNC_old(a5)
  4152.     bne.b    _RNC21
  4153.  
  4154.     lea    RNCText(pc),a0
  4155.     bra.b    Tex2
  4156. _RNC21
  4157.     lea    RNCOldText(pc),a0
  4158. Tex2
  4159.     move.l    a0,AboutPacker(a5)
  4160.     moveq    #1,d0
  4161.     rts
  4162. _ID_S300
  4163.     btst.l    #S300,d6
  4164.     bne.w    _ID_Exit
  4165.     move.l    a0,a2
  4166.     addq.l    #4,a2
  4167.     bsr.w    TestFileSize
  4168.     beq.w    _ID_Exit
  4169.     move.l    d1,OriginalSize(a5)
  4170.     addq.l    #4,a2
  4171.     bsr.w    TestFileSize
  4172.     beq.w    _ID_Exit
  4173.     add.l    #16,d1
  4174.     move.l    d1,PackedSize(a5)
  4175.     subq.l    #4,a0
  4176.     move.l    a0,StartFileID(a5)
  4177.     move.l    #'S300',DisplayID(a5)
  4178.     lea    StoneText(pc),a0
  4179.     move.l    a0,AboutPacker(a5)
  4180.     moveq    #1,d0
  4181.     rts
  4182. _ID_S310
  4183.     btst.l    #S310,d6
  4184.     bne.w    _ID_Exit
  4185.     move.l    a0,a2
  4186.     bsr.w    TestFileSize
  4187.     beq.w    _ID_Exit
  4188.     move.l    d1,OriginalSize(a5)
  4189.     addq.l    #4,a2
  4190.     bsr.w    TestFileSize
  4191.     beq.w    _ID_Exit
  4192.     add.l    #12,d1
  4193.     move.l    d1,PackedSize(a5)
  4194.     subq.l    #4,a0
  4195.     move.l    a0,StartFileID(a5)
  4196.     move.l    #'S310',DisplayID(a5)
  4197.     lea    StoneText(pc),a0
  4198.     move.l    a0,AboutPacker(a5)
  4199.     moveq    #1,d0
  4200.     rts
  4201. _ID_S400
  4202.     btst.l    #S400,d6
  4203.     bne.w    _ID_Exit
  4204.     move.l    a0,a2
  4205.     bsr.w    TestFileSize
  4206.     beq.w    _ID_Exit
  4207.     move.l    d1,OriginalSize(a5)
  4208.     addq.l    #4,a2
  4209.     bsr.w    TestFileSize
  4210.     beq.w    _ID_Exit
  4211.     add.l    #12,d1
  4212.     move.l    d1,PackedSize(a5)
  4213.     subq.l    #4,a0
  4214.     move.l    a0,StartFileID(a5)
  4215.     move.l    #'S400',DisplayID(a5)
  4216.     lea    StoneText(pc),a0
  4217.     move.l    a0,AboutPacker(a5)
  4218.     moveq    #1,d0
  4219.     rts
  4220. _ID_S401
  4221.     btst.l    #S401,d6
  4222.     bne.w    _ID_Exit
  4223.     move.l    a0,a2
  4224.     bsr.w    TestFileSize
  4225.     beq.w    _ID_Exit
  4226.     move.l    d1,OriginalSize(a5)
  4227.     addq.l    #4,a2
  4228.     bsr.w    TestFileSize
  4229.     beq.w    _ID_Exit
  4230.     add.l    #12,d1
  4231.     move.l    d1,PackedSize(a5)
  4232.     subq.l    #4,a0
  4233.     move.l    a0,StartFileID(a5)
  4234.     move.l    #'S401',DisplayID(a5)
  4235.     lea    StoneText(pc),a0
  4236.     move.l    a0,AboutPacker(a5)
  4237.     moveq    #1,d0
  4238.     rts
  4239. _ID_S403
  4240.     btst.l    #S403,d6
  4241.     bne.w    _ID_Exit
  4242.     move.l    a0,a2
  4243.     addq.l    #4,a2
  4244.     bsr.w    TestFileSize
  4245.     beq.w    _ID_Exit
  4246.     move.l    d1,OriginalSize(a5)
  4247.     addq.l    #4,a2
  4248.     bsr.w    TestFileSize
  4249.     beq.w    _ID_Exit
  4250.     add.l    #20,d1
  4251.     move.l    d1,PackedSize(a5)
  4252.     subq.l    #4,a0
  4253.     move.l    a0,StartFileID(a5)
  4254.     move.l    #'S403',DisplayID(a5)
  4255.     lea    StoneText(pc),a0
  4256.     move.l    a0,AboutPacker(a5)
  4257.     moveq    #1,d0
  4258.     rts
  4259. _ID_S404
  4260.     btst.l    #S404,d6
  4261.     bne.w    _ID_Exit
  4262.     move.l    a0,a2
  4263.     addq.l    #4,a2
  4264.     bsr.w    TestFileSize
  4265.     beq.w    _ID_Exit
  4266.     move.l    d1,OriginalSize(a5)
  4267.     addq.l    #4,a2
  4268.     bsr.w    TestFileSize
  4269.     beq.w    _ID_Exit
  4270.     add.l    #18,d1
  4271.     move.l    d1,PackedSize(a5)
  4272.     subq.l    #4,a0
  4273.     move.l    a0,StartFileID(a5)
  4274.     move.l    #'S404',DisplayID(a5)
  4275.     lea    StoneText(pc),a0
  4276.     move.l    a0,AboutPacker(a5)
  4277.     moveq    #1,d0
  4278.     rts
  4279. _ID_SFCD
  4280.     btst.l    #SFCD,d6
  4281.     bne.w    _ID_Exit
  4282.     move.l    a0,a2
  4283.     bsr.w    TestFileSize
  4284.     beq.w    _ID_Exit
  4285.     move.l    d1,OriginalSize(a5)
  4286.     addq.l    #4,a2
  4287.     bsr.w    TestFileSize
  4288.     beq.w    _ID_Exit
  4289.     add.l    #12,d1
  4290.     move.l    d1,PackedSize(a5)
  4291.     subq.l    #4,a0
  4292.     move.l    a0,StartFileID(a5)
  4293.     move.l    #'SFCD',DisplayID(a5)
  4294.     lea    PMCText(pc),a0
  4295.     move.l    a0,AboutPacker(a5)
  4296.     moveq    #1,d0
  4297.     rts
  4298. _ID_SFHD
  4299.     btst.l    #SFHD,d6
  4300.     bne.w    _ID_Exit
  4301.     move.l    a0,a2
  4302.     bsr.w    TestFileSize
  4303.     beq.w    _ID_Exit
  4304.     move.l    d1,OriginalSize(a5)
  4305.     addq.l    #4,a2
  4306.     bsr.w    TestFileSize
  4307.     beq.w    _ID_Exit
  4308.     add.l    #12,d1
  4309.     move.l    d1,PackedSize(a5)
  4310.     subq.l    #4,a0
  4311.     move.l    a0,StartFileID(a5)
  4312.     move.l    #'SFHD',DisplayID(a5)
  4313.     lea    PMCText(pc),a0
  4314.     move.l    a0,AboutPacker(a5)
  4315.     moveq    #1,d0
  4316.     rts
  4317. _ID_SLAM
  4318.     btst.l    #SLAM,d6
  4319.     bne.w    _ID_Exit
  4320.     move.l    a0,a2
  4321.     addq.l    #4,a2
  4322.     bsr.w    TestFileSize
  4323.     beq.w    _ID_Exit
  4324.     move.l    d1,OriginalSize(a5)
  4325.     addq.l    #4,a2
  4326.     bsr.w    TestFileSize
  4327.     beq.w    _ID_Exit
  4328.     add.l    #18,d1
  4329.     move.l    d1,PackedSize(a5)
  4330.     subq.l    #4,a0
  4331.     move.l    a0,StartFileID(a5)
  4332.     move.l    #'SLAM',DisplayID(a5)
  4333.     lea    StoneFakeText(pc),a2
  4334.     move.l    a2,AboutPacker(a5)
  4335.     move.b    #'S',(a0)+
  4336.     move.b    #'4',(a0)+
  4337.     move.b    #'0',(a0)+
  4338.     move.b    #'4',(a0)
  4339.     moveq    #1,d0
  4340.     rts
  4341. _ID_SPv3
  4342.     btst.l    #SPv3,d6
  4343.     bne.w    _ID_Exit
  4344.     move.l    a0,a2
  4345.     addq.l    #8,a2
  4346.     bsr.w    TestFileSize
  4347.     beq.w    _ID_Exit
  4348.     move.l    d1,OriginalSize(a5)
  4349.     subq.l    #4,a2
  4350.     bsr.w    TestFileSize
  4351.     beq.w    _ID_Exit
  4352.     move.l    d1,PackedSize(a5)
  4353.     subq.l    #4,a0
  4354.     move.l    a0,StartFileID(a5)
  4355.     move.l    #'SPv3',DisplayID(a5)
  4356.     lea    Ace?Text(pc),a0
  4357.     move.l    a0,AboutPacker(a5)
  4358.     moveq    #1,d0
  4359.     rts
  4360. _ID_SSUR
  4361.     btst.l    #SSUR,d6
  4362.     bne.w    _ID_Exit
  4363.     move.l    a0,a2
  4364.     bsr.w    GetLongWord
  4365.     beq.w    _ID_Exit
  4366.     andi.l    #$0000e0ff,d1
  4367.     bne.w    _ID_Exit
  4368.     move.b    (a2),d1
  4369.     ror.l    #8,d1
  4370.     move.b    1(a2),d1
  4371.     ror.l    #8,d1
  4372.     move.b    2(a2),d1
  4373.     ror.l    #8,d1
  4374.     move.b    3(a2),d1
  4375.     ror.l    #8,d1
  4376.     move.l    d1,OriginalSize(a5)
  4377.     clr.l    PackedSize(a5)
  4378.     subq.l    #4,a0
  4379.     move.l    a0,StartFileID(a5)
  4380.     move.l    #'SSUR',DisplayID(a5)
  4381.     lea    Ace?Text(pc),a0
  4382.     move.l    a0,AboutPacker(a5)
  4383.     moveq    #1,d0
  4384.     rts
  4385. _ID_T.S
  4386.     cmp.b    #'2',(a0)
  4387.     bne.w    _ID_Exit
  4388.     cmp.b    #'.',1(a0)
  4389.     bne.w    _ID_Exit
  4390.     cmp.b    #'0',2(a0)
  4391.     bne.w    _ID_Exit
  4392.     cmp.b    #'0',3(a0)
  4393.     bne.w    _ID_Exit
  4394.     move.l    a0,-(A7)
  4395.     lea    TurtleSmasher2(pc),a0
  4396.     bsr.w    PrintStatus
  4397.     move.l    (A7)+,a0
  4398.     bra.w    _ID_Exit
  4399. _ID_TITS
  4400.     btst.l    #TITS,d6
  4401.     bne.w    _ID_Exit
  4402.     move.l    a0,a2
  4403.     bsr.w    TestFileSize
  4404.     beq.w    _ID_Exit
  4405.     move.l    d1,PackedSize(a5)
  4406.     move.l    a0,a2
  4407.     subq.l    #4,a2
  4408.     add.l    d1,a2
  4409.     bsr.w    GetLongWord
  4410.     beq.w    _ID_Exit
  4411.     lsr.l    #8,d1
  4412.     andi.l    #$001fffff,d1
  4413.     beq.w    _ID_Exit
  4414.     move.l    d1,OriginalSize(a5)
  4415.     move.l    a0,StartFileID(a5)
  4416.     move.l    #'TITS',DisplayID(a5)
  4417.     lea    TITSText(pc),a0
  4418.     move.l    a0,AboutPacker(a5)
  4419.     moveq    #1,d0
  4420.     rts
  4421. _ID_TPWM
  4422.     btst.l    #TPWM,d6
  4423.     bne.w    _ID_Exit
  4424.     move.l    a0,a2
  4425.     bsr.w    TestFileSize
  4426.     beq.w    _ID_Exit
  4427.     move.l    d1,OriginalSize(a5)
  4428.     subq.l    #4,a0
  4429.  
  4430.     movem.l    d1-a6,-(a7)
  4431.     bsr.w    TPWM_Decr
  4432.     move.l    a6,d0
  4433.     movem.l    (a7)+,d1-a6
  4434.  
  4435.     sub.l    a0,d0
  4436.     move.l    d0,PackedSize(a5)
  4437.     move.l    a0,StartFileID(a5)
  4438.     move.l    #'TPWM',DisplayID(a5)
  4439.     lea    TPWMText(pc),a0
  4440.     move.l    a0,AboutPacker(a5)
  4441.     moveq    #1,d0
  4442.     rts
  4443. TPWM_Decr:
  4444.     lea    (a0),a6
  4445.     sub.l    a5,a5
  4446.     move.l    (A6)+,D0
  4447.     move.l    (A6)+,D7
  4448.     movea.l    A5,A4
  4449.     adda.l    D7,A4
  4450. lbC000008:
  4451. ;    cmpa.l    a6,a2
  4452. ;    beq.b    Err
  4453.     move.b    (A6)+,D0
  4454.     moveq    #7,D7
  4455. lbC00000C:
  4456.     add.b    D0,D0
  4457.     bcs.s    lbC00001E
  4458. ;    move.b    (A6)+,(A5)+
  4459.     addq.l    #1,a6
  4460.     addq.l    #1,a5
  4461. lbC000012:
  4462.     cmpa.l    A5,A4
  4463.     bls.s    lbC00001C
  4464.     dbra    D7,lbC00000C
  4465.     bra.s    lbC000008
  4466. lbC00001C:
  4467.     rts
  4468. lbC00001E:
  4469. ;    cmpa.l    a6,a2
  4470. ;    beq.b    Err
  4471.     move.b    (A6)+,D1
  4472.     moveq    #0,D2
  4473.     move.b    D1,D2
  4474.     asl.w    #4,D2
  4475.     move.b    (A6)+,D2
  4476.     andi.w    #15,D1
  4477.     addq.w    #2,D1
  4478.     movea.l    A5,A3
  4479.     suba.w    D2,A3
  4480. lbC000032:
  4481. ;    move.b    (A3)+,(A5)+
  4482.     addq.l    #1,a3
  4483.     addq.l    #1,a5
  4484.     dbra    D1,lbC000032
  4485.     bra.s    lbC000012
  4486. _ID_TSM
  4487.     btst.l    #TSM,d6
  4488.     bne.w    _ID_Exit
  4489.     move.l    a0,a2
  4490.     addq.l    #4,a2
  4491.     bsr.w    TestFileSize
  4492.     beq.w    _ID_Exit
  4493.     move.l    d1,OriginalSize(a5)
  4494.     subq.l    #4,a2
  4495.     bsr.w    TestFileSize
  4496.     beq.w    _ID_Exit
  4497.     move.l    d1,PackedSize(a5)
  4498.     subq.l    #4,a0
  4499.     move.l    a0,StartFileID(a5)
  4500.     move.l    #'TSM!',DisplayID(a5)
  4501.     lea    TSMText(pc),a2
  4502.     move.l    a2,AboutPacker(a5)
  4503.     move.b    #'I',(a0)+
  4504.     move.b    #'c',(a0)+
  4505.     move.b    #'e',(a0)+
  4506.     move.b    #'!',(a0)
  4507.     moveq    #1,d0
  4508.     rts
  4509. _ID_Taz
  4510.     btst.l    #Taz,d6
  4511.     bne.w    _ID_Exit
  4512.     move.l    a0,a2
  4513.     addq.l    #4,a2
  4514.     bsr.w    TestFileSize
  4515.     beq.w    _ID_Exit
  4516.     move.l    d1,OriginalSize(a5)
  4517.     subq.l    #4,a2
  4518.     bsr.w    TestFileSize
  4519.     beq.w    _ID_Exit
  4520.     move.l    d1,PackedSize(a5)
  4521.     subq.l    #4,a0
  4522.     move.l    a0,StartFileID(a5)
  4523.     move.l    #'Taz!',DisplayID(a5)
  4524.     lea    TazText(pc),a2
  4525.     move.l    a2,AboutPacker(a5)
  4526.     move.b    #'I',(a0)+
  4527.     move.b    #'C',(a0)+
  4528.     move.b    #'E',(a0)+
  4529.     move.b    #'!',(a0)
  4530.     moveq    #1,d0
  4531.     rts
  4532. _ID_VDCO
  4533.     btst.l    #VDCO,d6
  4534.     bne.w    _ID_Exit
  4535.     move.l    a0,a2
  4536.     bsr.w    TestFileSize
  4537.     beq.w    _ID_Exit
  4538.     move.l    d1,OriginalSize(a5)
  4539.     addq.l    #4,a2
  4540.     bsr.w    TestFileSize
  4541.     beq.w    _ID_Exit
  4542.     add.l    #13,d1
  4543.     move.l    d1,PackedSize(a5)
  4544.     subq.l    #4,a0
  4545.     move.l    a0,StartFileID(a5)
  4546.     move.l    #'VDCO',DisplayID(a5)
  4547.     lea    VDCOText(pc),a0
  4548.     move.l    a0,AboutPacker(a5)
  4549.     moveq    #1,d0
  4550.     rts
  4551. _ID_VOL1
  4552.     btst.l    #VOL1,d6
  4553.     bne.w    _ID_Exit
  4554.     move.l    a0,a2
  4555.     bsr.w    GetLongWord
  4556.     beq.w    _ID_Exit
  4557.     andi.l    #$001fffff,d1
  4558.     beq.w    _ID_Exit
  4559.     move.l    d1,OriginalSize(a5)
  4560.     addq.l    #4,a2
  4561.     bsr.w    TestFileSize
  4562.     beq.w    _ID_Exit
  4563.     add.l    #12,d1
  4564.     move.l    d1,PackedSize(a5)
  4565.     subq.l    #4,a0
  4566.     move.l    a0,StartFileID(a5)
  4567.     move.l    #'VOL1',DisplayID(a5)
  4568.     lea    LOBText(pc),a0
  4569.     move.l    a0,AboutPacker(a5)
  4570.     moveq    #1,d0
  4571.     rts
  4572. _ID_ViS1
  4573.     btst.l    #ViS1,d6
  4574.     bne.w    _ID_Exit
  4575.     move.l    a0,a2
  4576.     addq.l    #2,a2
  4577.     bsr.w    TestFileSize
  4578.     beq.w    _ID_Exit
  4579.     move.l    d1,OriginalSize(a5)
  4580.     addq.l    #4,a2
  4581.     bsr.w    TestFileSize
  4582.     beq.w    _ID_Exit
  4583.     add.l    #14,d1
  4584.     move.l    d1,PackedSize(a5)
  4585.     subq.l    #4,a0
  4586.     move.l    a0,StartFileID(a5)
  4587.     move.l    #'ViS1',DisplayID(a5)
  4588.     lea    ViS1Text(pc),a2
  4589.     move.l    a2,AboutPacker(a5)
  4590.     move.b    #'C',(a0)+
  4591.     move.b    #'r',(a0)+
  4592.     move.b    #'M',(a0)+
  4593.     move.b    #'!',(a0)
  4594.     moveq    #1,d0
  4595.     rts
  4596. _ID_ViSL
  4597.     btst.l    #ViSL,d6
  4598.     bne.w    _ID_Exit
  4599.     move.l    a0,a2
  4600.     addq.l    #2,a2
  4601.     bsr.w    TestFileSize
  4602.     beq.w    _ID_Exit
  4603.     move.l    d1,OriginalSize(a5)
  4604.     addq.l    #4,a2
  4605.     bsr.w    TestFileSize
  4606.     beq.w    _ID_Exit
  4607.     add.l    #14,d1
  4608.     move.l    d1,PackedSize(a5)
  4609.     subq.l    #4,a0
  4610.     move.l    a0,StartFileID(a5)
  4611.     move.l    #'ViSL',DisplayID(a5)
  4612.     lea    ViSLText(pc),a2
  4613.     move.l    a2,AboutPacker(a5)
  4614.     move.b    #'C',(a0)+
  4615.     move.b    #'r',(a0)+
  4616.     move.b    #'M',(a0)+
  4617.     move.b    #'2',(a0)
  4618.     moveq    #1,d0
  4619.     rts
  4620. _ID_Vic2
  4621.     btst.l    #Vic2,d6
  4622.     bne.w    _ID_Exit
  4623.     move.l    a0,a2
  4624.     bsr.w    TestFileSize
  4625.     beq.w    _ID_Exit
  4626.     move.l    d1,OriginalSize(a5)
  4627.     addq.l    #4,a2
  4628.     bsr.w    TestFileSize
  4629.     beq.w    _ID_Exit
  4630.     add.l    #12,d1
  4631.     move.l    d1,PackedSize(a5)
  4632.     subq.l    #4,a0
  4633.     move.l    a0,StartFileID(a5)
  4634.     move.l    #'Vic2',DisplayID(a5)
  4635.     lea    Ace?Text(pc),a0
  4636.     move.l    a0,AboutPacker(a5)
  4637.     moveq    #1,d0
  4638.     rts
  4639. _ID_WJSD
  4640.     btst.l    #WJSD,d6
  4641.     bne.w    _ID_Exit
  4642.     move.l    a0,a2
  4643.     bsr.w    TestFileSize
  4644.     beq.w    _ID_Exit
  4645.     move.l    d1,OriginalSize(a5)
  4646.     addq.l    #4,a2
  4647.     bsr.w    TestFileSize
  4648.     beq.w    _ID_Exit
  4649.     addq.l    #4,d1
  4650.     move.l    d1,PackedSize(a5)
  4651.     subq.l    #4,a0
  4652.     move.l    a0,StartFileID(a5)
  4653.     move.l    #'WJSD',DisplayID(a5)
  4654.     lea    MasterText(pc),a2
  4655.     move.l    a2,AboutPacker(a5)
  4656.     move.b    #'L',(a0)+
  4657.     move.b    #'S',(a0)+
  4658.     move.b    #'D',(a0)+
  4659.     move.b    #'!',(a0)
  4660.     moveq    #1,d0
  4661.     rts
  4662. _ID_XP10
  4663.     btst.l    #XP10,d6
  4664.     bne.w    _ID_Exit
  4665.     move.l    a0,a2
  4666.     bsr.w    TestFileSize
  4667.     beq.w    _ID_Exit
  4668.     move.l    d1,OriginalSize(a5)
  4669.     lea    12(a2),a2
  4670.     bsr.w    TestFileSize
  4671.     beq.w    _ID_Exit
  4672.     add.l    #20,d1
  4673.     move.l    d1,PackedSize(a5)
  4674.     subq.l    #4,a0
  4675.     move.l    a0,StartFileID(a5)
  4676.     move.l    #'XP10',DisplayID(a5)
  4677.     lea    Ace?Text(pc),a0
  4678.     move.l    a0,AboutPacker(a5)
  4679.     moveq    #1,d0
  4680.     rts
  4681. _ID_XPKF
  4682.     btst.l    #XPKF,d6
  4683.     bne.w    _ID_Exit
  4684.     move.l    a0,a2
  4685.     addq.l    #8,a2
  4686.     bsr.w    TestFileSize
  4687.     beq.w    _ID_Exit
  4688.     move.l    d1,OriginalSize(a5)
  4689.     subq.l    #8,a2
  4690.     bsr.w    TestFileSize
  4691.     beq.w    _ID_Exit
  4692.     addq.l    #8,d1
  4693.     move.l    d1,PackedSize(a5)
  4694.     subq.l    #4,a0
  4695.     move.l    a0,StartFileID(a5)
  4696.     move.l    #'XPK ',DisplayID(a5)
  4697.  
  4698.     move.l    a0,a2
  4699.     addq.l    #8,a2
  4700.     bsr.w    GetLongWord
  4701.     lea    xpkID(pc),a1
  4702. Comp:
  4703.     move.l    (a1)+,d0
  4704.     cmp.l    d0,d1
  4705.     beq.b    Findxpk
  4706.     addq.l    #4,a1
  4707.     tst.l    (a1)
  4708.     beq.b    NoFindxpk
  4709.     bra.b    Comp
  4710. Findxpk:
  4711.     move.l    (a1),AboutPacker(a5)
  4712.     bra.b    NoXpk
  4713. NoFindxpk:
  4714.     lea    XPKFText+3(pc),a1
  4715.     addq.l    #8,a0
  4716.     move.b    (a0)+,(a1)+
  4717.     move.b    (a0)+,(a1)+
  4718.     move.b    (a0)+,(a1)+
  4719.     move.b    (a0),(a1)
  4720.     lea    XPKFText(pc),a0
  4721.     move.l    a0,AboutPacker(a5)
  4722. NoXpk:    
  4723.     moveq    #1,d0
  4724.     rts
  4725. _ID_XPKZ
  4726.     btst.l    #XPKZ,d6
  4727.     bne.w    _ID_Exit
  4728.     move.l    a0,a2
  4729.     addq.l    #2,a2
  4730.     bsr.w    TestFileSize
  4731.     beq.w    _ID_Exit
  4732.     move.l    d1,OriginalSize(a5)
  4733.     addq.l    #4,a2
  4734.     bsr.w    TestFileSize
  4735.     beq.w    _ID_Exit
  4736.     add.l    #14,d1
  4737.     move.l    d1,PackedSize(a5)
  4738.     subq.l    #4,a0
  4739.     move.l    a0,StartFileID(a5)
  4740.     move.l    #'XPKZ',DisplayID(a5)
  4741.     lea    ViSLText(pc),a2
  4742.     move.l    a2,AboutPacker(a5)
  4743.     move.b    #'C',(a0)+
  4744.     move.b    #'r',(a0)+
  4745.     move.b    #'M',(a0)+
  4746.     move.b    #'2',(a0)
  4747.     moveq    #1,d0
  4748.     rts
  4749. _ID_XX50
  4750.     btst.l    #XX50,d6
  4751.     bne.w    _ID_Exit
  4752.     move.l    #'XX50',DisplayID(a5)
  4753.     move.b    #'P',-4(a0)
  4754.     move.b    #'P',-3(a0)
  4755.     move.b    #'2',-2(a0)
  4756.     move.b    #'0',-1(a0)
  4757.     bra.w    _IDpp20
  4758. _ID_xVdg
  4759.     btst.l    #xVdg,d6
  4760.     bne.w    _ID_Exit
  4761.     move.l    a0,a2
  4762.     bsr.w    TestFileSize
  4763.     beq.w    _ID_Exit
  4764.     sub.l    #12,d1
  4765.     move.l    d1,OriginalSize(a5)
  4766.     addq.l    #4,a2
  4767.     bsr.w    TestFileSize
  4768.     beq.w    _ID_Exit
  4769.     add.l    #12,d1
  4770.     move.l    d1,PackedSize(a5)
  4771.     subq.l    #4,a0
  4772.     move.l    a0,StartFileID(a5)
  4773.     move.l    #'xVdg',DisplayID(a5)
  4774.     lea    xVdgText(pc),a0
  4775.     move.l    a0,AboutPacker(a5)
  4776.     moveq    #1,d0
  4777.     rts
  4778. _ID_xXxX
  4779.     btst.l    #xXxX,d6
  4780.     bne.w    _ID_Exit
  4781.     move.l    a0,a2
  4782.     addq.l    #2,a2
  4783.     bsr.w    TestFileSize
  4784.     beq.w    _ID_Exit
  4785.     move.l    d1,OriginalSize(a5)
  4786.     addq.l    #4,a2
  4787.     bsr.w    TestFileSize
  4788.     beq.w    _ID_Exit
  4789.     add.l    #14,d1
  4790.     move.l    d1,PackedSize(a5)
  4791.     subq.l    #4,a0
  4792.     move.l    a0,StartFileID(a5)
  4793.     move.l    #'xXxX',DisplayID(a5)
  4794.     lea    ViS1Text(pc),a2
  4795.     move.l    a2,AboutPacker(a5)
  4796.     move.b    #'C',(a0)+
  4797.     move.b    #'r',(a0)+
  4798.     move.b    #'M',(a0)+
  4799.     move.b    #'!',(a0)
  4800.     moveq    #1,d0
  4801.     rts
  4802.  
  4803. ****************************************************************************
  4804.  
  4805. TestFileSize:
  4806.     move.b    (a2),d1
  4807.     lsl.l    #8,d1
  4808.     move.b    1(a2),d1
  4809.     lsl.l    #8,d1
  4810.     move.b    2(a2),d1
  4811.     lsl.l    #8,d1
  4812.     move.b    3(a2),d1
  4813.     tst.l    d1
  4814.     beq.b    NoID
  4815.     move.l    d1,-(a7)
  4816.     andi.l    #$ffe00000,d1
  4817.     bne.b    NoID_2
  4818.     move.l    (a7)+,d1
  4819.     tst.l    d1
  4820.     rts
  4821. NoID_2
  4822.     addq.l    #4,a7
  4823. NoID
  4824.     moveq    #0,d1
  4825.     tst.l    d1
  4826.     rts
  4827.  
  4828. GetLongWord:
  4829.     move.b    (a2),d1
  4830.     lsl.l    #8,d1
  4831.     move.b    1(a2),d1
  4832.     lsl.l    #8,d1
  4833.     move.b    2(a2),d1
  4834.     lsl.l    #8,d1
  4835.     move.b    3(a2),d1
  4836.     tst.l    d1
  4837.     rts
  4838.  
  4839. GetWord:
  4840.     moveq    #0,d1
  4841.     move.b    (a2),d1
  4842.     lsl.l    #8,d1
  4843.     move.b    1(a2),d1
  4844.     rts
  4845.  
  4846. ***************************************************************************
  4847.  
  4848. Decrunch:
  4849. ;    tst.l    RNC_old(a5)
  4850. ;    bne.w    RNC_old_decrunch
  4851.  
  4852.     move.l    XfdBase(a5),a6
  4853.     moveq    #XFDOBJ_BUFFERINFO,d0
  4854.     jsr    xfdAllocObject(a6)
  4855.     move.l    d0,a4
  4856.     beq.w    ErrorAlloc
  4857.  
  4858.     moveq    #0,d0
  4859.     bset    #XFDPFB_DATA,d0
  4860.     move.w    d0,xfdbi_PackerFlags(a4)
  4861.     moveq    #0,d0
  4862.     bset    #XFDFB_RECOGEXTERN,d0
  4863.     move.w    d0,xfdbi_Flags(a4)
  4864. Pa
  4865.     move.l    StartFileID(a5),xfdbi_SourceBuffer(a4)
  4866.     move.l    PackedSize(a5),xfdbi_SourceBufLen(a4)
  4867.     tst.l    PackedSize(a5)
  4868.     bne.b    PackedOk
  4869.     move.l    OriginalSize(a5),xfdbi_SourceBufLen(a4)
  4870. PackedOk:
  4871.     move.l    a4,a0
  4872.     move.l    XfdBase(a5),a6
  4873.     jsr    xfdRecogBuffer(a6)
  4874.     tst.l    d0
  4875.     beq.b    DecrunchError
  4876.  
  4877.     lea    Decrunching(pc),a0
  4878.     bsr.w    PrintStatus
  4879.  
  4880.     move.l    #$10001,xfdbi_TargetBufMemType(a4)
  4881.     move.l    a4,a0
  4882.     move.l    XfdBase(a5),a6
  4883.     jsr    xfdDecrunchBuffer(a6)
  4884.     tst.l    d0
  4885.     beq.b    DecrunchError
  4886.  
  4887.     move.l    StartFileID(a5),-(a7)
  4888.     move.l    xfdbi_TargetBuffer(a4),StartFileID(a5)
  4889.  
  4890.     move.l    PackedSize(a5),-(a7)
  4891.     move.l    xfdbi_TargetBufSaveLen(a4),PackedSize(a5)
  4892.  
  4893.     bsr.w    SaveFile
  4894.  
  4895.     move.l    (a7)+,PackedSize(a5)
  4896.     move.l    (a7)+,StartFileID(a5)
  4897.  
  4898.     move.l    xfdbi_TargetBufLen(a4),d0
  4899.     move.l    xfdbi_TargetBuffer(a4),a1
  4900.     move.l    Exec.w,a6
  4901.     jsr    FreeMem(a6)
  4902.  
  4903.     clr.l    DecrError(a5)
  4904.  
  4905. QuitDecrunch:
  4906.     clr.l    KeyVar
  4907.  
  4908.     move.l    a4,a1
  4909.     move.l    XfdBase(a5),a6
  4910.     jsr    xfdFreeObject(a6)
  4911.  
  4912.     tst.l    DecrVar(a5)
  4913.     bne.w    ContSearch
  4914.  
  4915.     bra.w    SOC
  4916.  
  4917. DecrunchError:
  4918.     move.w    xfdbi_Error(a4),d0
  4919.     jsr    xfdGetErrorText(a6)
  4920.  
  4921.     lea    StatusText(pc),a0
  4922.     lea    StatusVar(pc),a1
  4923.     move.l    d0,(a1)
  4924.     bsr.w    Printf
  4925.  
  4926.     cmp.w    #XFDERR_WRONGKEY,xfdbi_Error(A4)
  4927.     bne.w    NotWrong
  4928.  
  4929.     move.l    DisplayID(a5),d0
  4930.     and.l    #$ffffff00,d0
  4931.     cmp.l    #'RNC '-32,d0
  4932.     bne.w    NotWrong
  4933.  
  4934.     tst.l    KeyVar
  4935.     beq.    Pa2
  4936. More
  4937.     moveq    #4,d0
  4938.     lea    KeyBuffer(pc),a1
  4939.     lea    KeyTitle(pc),a2
  4940.     sub.l    a3,a3
  4941.     lea    KeyTags(pc),a0
  4942.     move.l    ReqBase(a5),a6
  4943.     jsr    rtGetStringA(a6)
  4944.     tst.l    d0
  4945.     beq.w    NotWrong
  4946.  
  4947.     lea    KeyBuffer(pc),a0
  4948.  
  4949.     moveq    #3,d0
  4950. Lops
  4951.     cmp.b    #'0',(a0)
  4952.     bcs.b    More
  4953.     cmp.b    #'9',(a0)
  4954.     bhi.b    Anoth
  4955.     bra.b    NextChar
  4956. Anoth
  4957.     cmp.b    #'A',(a0)
  4958.     bcs.b    More
  4959.     cmp.b    #'F',(a0)
  4960.     bhi.b    Anoth2
  4961.     bra.b    NextChar
  4962. Anoth2
  4963.     cmp.b    #'a',(a0)
  4964.     bcs.b    More
  4965.     cmp.b    #'f',(a0)
  4966.     bhi.b    More
  4967. NextChar
  4968.     addq.l    #1,a0
  4969.     dbf    d0,Lops
  4970.  
  4971.     lea    KeyBuffer(pc),a0
  4972.     moveq    #3,d3
  4973.     moveq    #0,d4
  4974. Lops2
  4975.     lea    KeyTable(pc),a1
  4976.     lea    KeySub(pc),a2
  4977.     moveq    #0,d0
  4978.     moveq    #0,d1
  4979.     moveq    #0,d2
  4980.     move.b    (a0)+,d0
  4981. CompChar
  4982.     move.b    (a1)+,d1
  4983.     addq.w    #1,d2
  4984.     cmp.b    d0,d1
  4985.     bne.b    CompChar
  4986.     subq.w    #1,d2
  4987.     sub.b    (a2,d2.w),d0
  4988.     rol.w    #4,d4
  4989.     or.b    d0,d4
  4990.     dbf    d3,Lops2
  4991.     
  4992.     lea    KeyRaw(pc),a0
  4993.     move.w    d4,(a0)
  4994.  
  4995. Pa2
  4996.     st    KeyVar
  4997.  
  4998.     moveq    #0,d0
  4999.     bset    #XFDPFB_KEY16,d0
  5000.     move.w    d0,xfdbi_PackerFlags(A4)
  5001.     lea    KeyRaw(pc),a0
  5002.     move.l    A0,xfdbi_Special(A4)
  5003.     bra.w    Pa
  5004.  
  5005. NotWrong
  5006.     tst.l    DecrVar(a5)
  5007.     beq.w    QuitDecrunch
  5008.  
  5009.     addq.l    #1,DecrError(a5)
  5010.  
  5011.     bra.w    QuitDecrunch
  5012.  
  5013. ErrorAlloc:
  5014.     lea    ErrorAllocBufInfo(pc),a0
  5015.     bsr.w    PrintStatus
  5016.  
  5017.     tst.l    DecrVar(a5)
  5018.     bne.w    ContSearch
  5019.  
  5020.     bra.w    SOC
  5021.  
  5022. StatusVar:
  5023.     dc.l    0
  5024. KeyVar
  5025.     dc.l    0
  5026. KeyRaw
  5027.     dc.w    0    ;$1984
  5028. KeyBuffer
  5029.     dc.b    '1984',0,0
  5030. KeyTags:
  5031.     dc.l    RT_Window
  5032. WindowCont2:
  5033.     dc.l    0
  5034.     dc.l    RT_ReqPos,REQPOS_CENTERWIN
  5035.     dc.l    RT_WaitPointer,1
  5036.     dc.l    RT_Underscore,'_'
  5037.     dc.l    RT_LockWindow,1
  5038.     dc.l    RTGS_TextFmt,KeyText
  5039.     dc.l    0
  5040. KeyText
  5041.     dc.b    'Min: 0000, Max: FFFF',0
  5042. KeyTitle
  5043.     dc.b    'Enter a 16 bit key:',0
  5044. KeyTable
  5045.     dc.b    '0123456789ABCDEFabcdef',0
  5046. KeySub
  5047.     dc.b    '0000000000','A'-10,'A'-10,'A'-10,'A'-10,'A'-10,'A'-10,'a'-10,'a'-10,'a'-10,'a'-10,'a'-10,'a'-10
  5048.  
  5049.     CNOP 0,2
  5050.  
  5051. ;RNC_old_decrunch
  5052. ;    move.l    OriginalSize(a5),d0
  5053. ;    move.l    #$10001,d1    ;Public i Clear
  5054. ;    move.l    Exec.w,a6
  5055. ;    jsr    AllocMem(a6)
  5056. ;    move.l    d0,BufOldRNC(A5)
  5057. ;    beq.w    ErrorAlloc
  5058.  
  5059. ;    lea    Decrunching(pc),a0
  5060. ;    bsr.w    PrintStatus
  5061.  
  5062. ;    bsr.w    DecrOldRNC
  5063. ;    tst.l    d0
  5064. ;    beq.w    RNCOldOk
  5065.  
  5066. ;    move.w    #XFDERR_CORRUPTEDDATA,d0
  5067. ;    move.l    XfdBase(a5),a6
  5068. ;    jsr    xfdGetErrorText(a6)
  5069.  
  5070. ;    lea    StatusText(pc),a0
  5071. ;    lea    StatusVar(pc),a1
  5072. ;    move.l    d0,(a1)
  5073. ;    bsr.w    Printf
  5074.  
  5075. ;    addq.l    #1,DecrError(a5)
  5076.  
  5077. ;    bra.b    FreeRNCOld
  5078.  
  5079. ;RNCOldOk
  5080. ;    move.l    StartFileID(a5),-(a7)
  5081. ;    move.l    BufOldRNC(a5),StartFileID(a5)
  5082.  
  5083. ;    move.l    PackedSize(a5),-(a7)
  5084. ;    move.l    OriginalSize(a5),PackedSize(a5)
  5085.  
  5086. ;    bsr.w    SaveFile
  5087.  
  5088. ;    move.l    (a7)+,PackedSize(a5)
  5089. ;    move.l    (a7)+,StartFileID(a5)
  5090.  
  5091. ;    clr.l    DecrError(a5)
  5092.  
  5093. ;FreeRNCOld
  5094. ;    move.l    OriginalSize(a5),d0
  5095. ;    move.l    BufOldRNC(a5),a1
  5096. ;    move.l    Exec.w,a6
  5097. ;    jsr    FreeMem(a6)
  5098.  
  5099. ;    tst.l    DecrVar(a5)
  5100. ;    bne.w    ContSearch
  5101.  
  5102. ;    bra.w    SOC
  5103.  
  5104. ;DecrOldRNC
  5105. ;    move.l    StartFileID(a5),a0
  5106. ;    move.l    BufOldRNC(A5),a1
  5107.  
  5108. ;    cmp.b    #02,3(a0)
  5109. ;    beq.w    RNC2_old
  5110.  
  5111. ;RNC1_old
  5112. ;    movem.l    D1-D7/A0-A6,-(SP)
  5113.  
  5114. ;    move.l    A7,A4
  5115.     
  5116. ;    bsr.s    lbC000060
  5117. ;    cmp.l    #$524E4301,D0
  5118. ;    bne.w    ErrorRNC1Old
  5119.  
  5120. ;    bsr.s    lbC000060
  5121. ;    lea    (A1,D0.L),A3
  5122.  
  5123. ;    bsr.s    lbC000060
  5124. ;    lea    (A0,D0.L),A6
  5125.  
  5126. ;    move.b    -(A6),D3
  5127. ;lbC000028:
  5128. ;    bsr.s    lbC00006C
  5129. ;    addq.w    #1,D5
  5130.  
  5131. ;    cmp.l    A0,A6
  5132. ;    bcs.w    ErrorRNC1Old
  5133. ;    beq.w    RNC1OldEnd
  5134.  
  5135. ;    bsr.w    lbC0000C2
  5136. ;    bsr.w    lbC0000F6
  5137. ;    subq.w    #1,D6
  5138.  
  5139. ;    lea    0(A3,D7.W),A2
  5140. ;    ext.l    D6
  5141. ;    adda.w    D6,A2
  5142. ;    tst.w    D7
  5143. ;    bne.s    lbC00004A
  5144. ;    lea    1(A3),A2
  5145. ;lbC00004A:
  5146. ;    cmp.l    A1,A2
  5147. ;    bls.w    ErrorRNC1Old
  5148. ;    cmp.l    A1,A3
  5149. ;    bls.w    ErrorRNC1Old
  5150.  
  5151. ;    move.b    -(A2),-(A3)
  5152.  
  5153. ;    dbra    D6,lbC00004A
  5154. ;    bra.s    lbC000028
  5155.  
  5156. ;lbC000060:
  5157. ;    moveq    #3,D1
  5158. ;lbC000062:
  5159. ;    lsl.l    #8,D0
  5160. ;    move.b    (A0)+,D0
  5161. ;    dbra    D1,lbC000062
  5162. ;    rts
  5163.  
  5164. ;lbC00006C:
  5165. ;    moveq    #-1,D5
  5166. ;    bsr.s    lbC0000B8
  5167. ;    bcc.s    lbC0000AE
  5168. ;    moveq    #0,D5
  5169. ;    bsr.s    lbC0000B8
  5170. ;    bcc.s    lbC0000A4
  5171. ;    moveq    #3,D1
  5172. ;lbC00007A:
  5173. ;    clr.w    D5
  5174. ;    move.b    lbB0000B0(PC,D1.W),D0
  5175. ;    ext.w    D0
  5176. ;    moveq    #-1,D2
  5177. ;    lsl.w    D0,D2
  5178. ;    not.w    D2
  5179. ;    subq.w    #1,D0
  5180. ;lbC00008A:
  5181. ;    bsr.s    lbC0000B8
  5182. ;    roxl.w    #1,D5
  5183. ;    dbra    D0,lbC00008A
  5184. ;    tst.w    D1
  5185. ;    beq.s    lbC00009C
  5186. ;    cmp.w    D5,D2
  5187. ;    dbne    D1,lbC00007A
  5188. ;lbC00009C:
  5189. ;    move.b    lbB0000B4(PC,D1.W),D0
  5190. ;    ext.w    D0
  5191. ;    add.w    D0,D5
  5192. ;lbC0000A4:
  5193. ;    move.w    D5,-(SP)
  5194. ;lbC0000A6:
  5195. ;    cmp.l    A0,A6
  5196. ;    bls.w    ErrorRNC1Old
  5197. ;    cmp.l    A1,A3
  5198. ;    bls.w    ErrorRNC1Old
  5199.  
  5200. ;    move.b    -(A6),-(A3)
  5201. ;    dbra    D5,lbC0000A6
  5202. ;    move.w    (SP)+,D5
  5203. ;lbC0000AE:
  5204. ;    rts
  5205.  
  5206. ;lbB0000B0:
  5207. ;    dc.b    10
  5208. ;    dc.b    3
  5209. ;    dc.b    2
  5210. ;    dc.b    2
  5211. ;lbB0000B4:
  5212. ;    dc.b    14
  5213. ;    dc.b    7
  5214. ;    dc.b    4
  5215. ;    dc.b    1
  5216.  
  5217. ;lbC0000B8:
  5218. ;    lsl.b    #1,D3
  5219. ;    bne.s    lbC0000C0
  5220.  
  5221. ;    cmp.l    A0,A6
  5222. ;    bls.w    ErrorRNC1Old
  5223.  
  5224. ;    move.b    -(A6),D3
  5225. ;    roxl.b    #1,D3
  5226. ;lbC0000C0:
  5227. ;    rts
  5228.  
  5229. ;lbC0000C2:
  5230. ;    moveq    #3,D0
  5231. ;lbC0000C4:
  5232. ;    bsr.s    lbC0000B8
  5233. ;    bcc.s    lbC0000CC
  5234. ;    dbra    D0,lbC0000C4
  5235. ;lbC0000CC:
  5236. ;    clr.w    D6
  5237. ;    addq.w    #1,D0
  5238. ;    move.b    lbB0000EC(PC,D0.W),D1
  5239. ;    beq.s    lbC0000E2
  5240. ;    ext.w    D1
  5241. ;    subq.w    #1,D1
  5242. ;lbC0000DA:
  5243. ;    bsr.s    lbC0000B8
  5244. ;    roxl.w    #1,D6
  5245. ;    dbra    D1,lbC0000DA
  5246. ;lbC0000E2:
  5247. ;    move.b    lbB0000F1(PC,D0.W),D1
  5248. ;    ext.w    D1
  5249. ;    add.w    D1,D6
  5250. ;    rts
  5251.  
  5252. ;lbB0000EC:
  5253. ;    dc.b    10
  5254. ;    dc.b    2
  5255. ;    dc.b    1
  5256. ;    dc.b    0
  5257. ;    dc.b    0
  5258. ;lbB0000F1:
  5259. ;    dc.b    10
  5260. ;    dc.b    6
  5261. ;    dc.b    4
  5262. ;    dc.b    3
  5263. ;    dc.b    2
  5264.  
  5265. ;lbC0000F6:
  5266. ;    moveq    #0,D7
  5267. ;    cmp.w    #2,D6
  5268. ;    beq.s    lbC000120
  5269. ;    moveq    #1,D0
  5270. ;lbC000100:
  5271. ;    bsr.s    lbC0000B8
  5272. ;    bcc.s    lbC000108
  5273. ;    dbra    D0,lbC000100
  5274. ;lbC000108:
  5275. ;    addq.w    #1,D0
  5276. ;    move.b    lbB000138(PC,D0.W),D1
  5277. ;    ext.w    D1
  5278. ;lbC000110:
  5279. ;    bsr.s    lbC0000B8
  5280. ;    roxl.w    #1,D7
  5281. ;    dbra    D1,lbC000110
  5282. ;    lsl.w    #1,D0
  5283. ;    add.w    lbB00013C(PC,D0.W),D7
  5284. ;    rts
  5285.  
  5286. ;lbC000120:
  5287. ;    moveq    #5,D0
  5288. ;    clr.w    D1
  5289. ;    bsr.s    lbC0000B8
  5290. ;    bcc.s    lbC00012C
  5291. ;    moveq    #8,D0
  5292. ;    moveq    #$40,D1
  5293. ;lbC00012C:
  5294. ;    bsr.s    lbC0000B8
  5295. ;    roxl.w    #1,D7
  5296. ;    dbra    D0,lbC00012C
  5297. ;    add.w    D1,D7
  5298. ;    rts
  5299.  
  5300. ;lbB000138:
  5301. ;    dc.b    11
  5302. ;    dc.b    4
  5303. ;    dc.b    7
  5304. ;    dc.b    0
  5305. ;lbB00013C:
  5306. ;    dc.b    1
  5307. ;    dc.b    $20
  5308. ;    dc.b    0
  5309. ;    dc.b    0
  5310. ;    dc.b    0
  5311. ;    dc.b    $20
  5312. ;    dc.b    0
  5313. ;    dc.b    0
  5314.  
  5315. ;RNC1OldEnd
  5316. ;    moveq    #0,D0
  5317. ;    bra.b    lbC000158
  5318.  
  5319. ;ErrorRNC1Old
  5320. ;    move.l    A4,A7
  5321. ;    moveq    #-1,D0
  5322. ;lbC000158:
  5323. ;    movem.l    (SP)+,D1-D7/A0-A6
  5324. ;    rts
  5325.  
  5326. ;RNC2_old
  5327. ;    movem.l    D1-D7/A0-A6,-(SP)
  5328.  
  5329. ;    move.l    A7,A4
  5330.  
  5331. ;    bsr.w    lbC00025A
  5332. ;    cmp.l    #$524E4302,D1
  5333. ;    bne.w    ErrorRNC2Old
  5334.  
  5335. ;    bsr.w    lbC00025A
  5336. ;    lea    (A1,D1.L),A3
  5337.  
  5338. ;    bsr.w    lbC00025A
  5339. ;    lea    (A0,D1.L),A6
  5340.  
  5341. ;    lea    lbB000250(PC),A5
  5342. ;    move.b    -(A6),D4
  5343. ;    andi.w    #15,D4
  5344. ;    move.b    D4,(A5)
  5345. ;    move.b    (A6),D4
  5346. ;    lsr.b    #4,D4
  5347. ;    move.b    D4,-8(A5)
  5348.  
  5349. ;    move.b    -(A6),D3
  5350. ;lbC00019E:
  5351. ;    bsr.s    lbC000206
  5352. ;    bcc.s    lbC0001C6
  5353. ;    moveq    #0,D6
  5354. ;    bsr.s    lbC000206
  5355. ;    bcc.s    lbC0001C0
  5356. ;    moveq    #1,D2
  5357. ;    moveq    #0,D5
  5358. ;    moveq    #1,D6
  5359. ;    bra.s    lbC0001B6
  5360.  
  5361. ;lbC0001B0:
  5362. ;    add.w    D2,D2
  5363. ;    addq.w    #1,D2
  5364. ;    addq.w    #1,D5
  5365. ;lbC0001B6:
  5366. ;    move.w    D5,D0
  5367. ;    bsr.s    lbC000210
  5368. ;    add.w    D7,D6
  5369. ;    cmp.w    D2,D7
  5370. ;    bge.s    lbC0001B0
  5371. ;lbC0001C0:
  5372.  
  5373. ;    cmp.l    A0,A6
  5374. ;    bls.w    ErrorRNC2Old
  5375. ;    cmp.l    A1,A3
  5376. ;    bls.w    ErrorRNC2Old
  5377.  
  5378. ;    move.b    -(A6),-(A3)
  5379. ;    dbra    D6,lbC0001C0
  5380. ;lbC0001C6:
  5381.  
  5382. ;    cmp.l    A0,A6
  5383. ;    bcs.w    ErrorRNC2Old
  5384. ;    beq.w    RNC2OldEnd
  5385.  
  5386. ;    moveq    #1,D6
  5387. ;    bsr.s    lbC000206
  5388. ;    bcc.s    lbC000226
  5389. ;    moveq    #2,D1
  5390. ;lbC0001D2:
  5391. ;    bsr.s    lbC000206
  5392. ;    dbcc    D1,lbC0001D2
  5393. ;    move.b    -7(A5,D1.W),D0
  5394. ;    bmi.s    lbC0001E2
  5395. ;    bsr.s    lbC000210
  5396. ;    move.w    D7,D6
  5397. ;lbC0001E2:
  5398. ;    move.b    -3(A5,D1.W),D0
  5399. ;    ext.w    D0
  5400. ;    add.w    D0,D6
  5401. ;    moveq    #1,D1
  5402. ;lbC0001EC:
  5403. ;    bsr.s    lbC000206
  5404. ;    dbcc    D1,lbC0001EC
  5405. ;    move.b    1(A5,D1.W),D0
  5406. ;    bsr.s    lbC000210
  5407. ;    add.w    D1,D1
  5408. ;    add.w    6(A5,D1.W),D7
  5409. ;    bne.s    lbC000238
  5410. ;lbC000200:
  5411.  
  5412. ;    lea    1(A3),A2
  5413.  
  5414. ;    bra.s    lbC00023E
  5415.  
  5416. ;lbC000206:
  5417. ;    add.b    D3,D3
  5418. ;    bne.s    lbC00020E
  5419.  
  5420. ;    cmp.l    A0,A6
  5421. ;    bls.b    ErrorRNC2Old
  5422.  
  5423. ;    move.b    -(A6),D3
  5424. ;    addx.b    D3,D3
  5425. ;lbC00020E:
  5426. ;    rts
  5427.  
  5428. ;lbC000210:
  5429. ;    ext.w    D0
  5430. ;    moveq    #0,D7
  5431. ;lbC000214:
  5432. ;    add.b    D3,D3
  5433. ;    bne.s    lbC00021C
  5434.  
  5435. ;    cmp.l    A0,A6
  5436. ;    bls.b    ErrorRNC2Old
  5437.  
  5438. ;    move.b    -(A6),D3
  5439. ;    addx.b    D3,D3
  5440. ;lbC00021C:
  5441. ;    addx.w    D7,D7
  5442. ;    dbra    D0,lbC000214
  5443. ;    rts
  5444.  
  5445. ;lbC000226:
  5446. ;    moveq    #5,D0
  5447. ;    moveq    #0,D1
  5448. ;    bsr.s    lbC000206
  5449. ;    bcc.s    lbC000232
  5450. ;    moveq    #8,D0
  5451. ;    moveq    #$40,D1
  5452. ;lbC000232:
  5453. ;    bsr.s    lbC000210
  5454. ;    add.w    D1,D7
  5455. ;    beq.s    lbC000200
  5456. ;lbC000238:
  5457. ;    add.w    D6,D7
  5458.  
  5459. ;    lea    0(A3,D7.W),A2
  5460.  
  5461. ;lbC00023E:
  5462.  
  5463. ;    cmp.l    A1,A2
  5464. ;    bls.b    ErrorRNC2Old
  5465. ;    cmp.l    A1,A3
  5466. ;    bls.b    ErrorRNC2Old
  5467. ;    move.b    -(A2),-(A3)
  5468.  
  5469. ;    dbra    D6,lbC00023E
  5470. ;    bra.w    lbC00019E
  5471.  
  5472. ;    dc.b    9
  5473. ;    dc.b    1
  5474. ;    dc.b    0
  5475. ;    dc.b    $FF
  5476. ;    dc.b    9
  5477. ;    dc.b    5
  5478. ;    dc.b    3
  5479. ;    dc.b    1
  5480. ;lbB000250:
  5481. ;    dc.b    11
  5482. ;    dc.b    4
  5483. ;    dc.b    7
  5484. ;    dc.b    0
  5485. ;    dc.b    1
  5486. ;    dc.b    $20
  5487. ;    dc.b    0
  5488. ;    dc.b    0
  5489. ;    dc.b    0
  5490. ;    dc.b    $20
  5491.  
  5492. ;lbC00025A:
  5493. ;    moveq    #3,D2
  5494. ;lbC00025C:
  5495. ;    lsl.l    #8,D1
  5496. ;    move.b    (A0)+,D1
  5497. ;    dbra    D2,lbC00025C
  5498. ;    rts
  5499.  
  5500. ;RNC2OldEnd
  5501. ;    moveq    #0,D0
  5502. ;    bra.b    lbC000280
  5503.  
  5504. ;ErrorRNC2Old
  5505. ;    move.l    A4,A7
  5506. ;    moveq    #-1,D0
  5507. ;lbC000280:
  5508. ;    movem.l    (SP)+,D1-D7/A0-A6
  5509. ;    rts
  5510.  
  5511. ***************************************************************************
  5512.  
  5513. PrintID:
  5514.     movem.l    d0-a6,-(a7)
  5515.  
  5516.     lea    Arguments+4(pc),a0
  5517.     move.l    OriginalSize(a5),(a0)+
  5518.     move.l    PackedSize(a5),(a0)+
  5519.     move.l    AboutPacker(a5),(a0)
  5520.  
  5521.     lea    FilesID(pc),a0
  5522.     move.l    DisplayID(a5),(a0)
  5523.  
  5524.     tst.l    PackedSize(a5)
  5525.     beq.b    Zero
  5526.  
  5527.     lea    FoundIDText(pc),a0
  5528.     lea    Arguments(pc),a1
  5529.     bsr.w    Printf
  5530.  
  5531. ZeroCont:
  5532.     move.l    StartFileID(a5),EndFile(a5)
  5533.     move.l    PackedSize(a5),d0
  5534.     tst.l    PackedSize(a5)
  5535.     bne.b    .NoZero
  5536.     move.l    OriginalSize(a5),d0
  5537. .NoZero
  5538.     add.l    d0,EndFile(a5)
  5539.  
  5540.     lea    FileInMem(pc),a0
  5541.     lea    StartFileID(a5),a1
  5542.     bsr.w    Printf
  5543.  
  5544.     lea    BufferInMem(pc),a0
  5545.     lea    AllocStart(a5),a1
  5546.     bsr.w    Printf
  5547.  
  5548.     movem.l    (a7)+,d0-a6
  5549.     rts
  5550.  
  5551. Zero:
  5552.     lea    FoundIDTextZero(pc),a0
  5553.     lea    Arguments(pc),a1
  5554.     bsr.w    Printf
  5555.  
  5556.     bra.b    ZeroCont
  5557.  
  5558. ***************************************************************************
  5559.  
  5560. SaveOrCont:
  5561.     bsr.w    WorkPointer
  5562.  
  5563.     tst.l    PackedSize(a5)
  5564.     beq.b    ZeroInfo
  5565.  
  5566.     lea    SaveOrContText(pc),a1
  5567.     lea    SaveOrContGad(pc),a2
  5568.     sub.l    a3,a3
  5569.     lea    Arguments(pc),a4
  5570.     lea    SaveOrContTags(pc),a0
  5571.     move.l    ReqBase(a5),a6
  5572.     jsr    rtEZRequestA(a6)
  5573.  
  5574.     bsr.w    WaitPointer
  5575.     rts
  5576.  
  5577. ZeroInfo:
  5578.     lea    Unknown(pc),a0
  5579.     lea    Arguments(pc),a4
  5580.     move.l    a0,8(a4)
  5581.  
  5582.     lea    UnknownText(pc),a1
  5583.     lea    SaveOrContGad(pc),a2
  5584.     sub.l    a3,a3
  5585.     lea    SaveOrContTags(pc),a0
  5586.     move.l    ReqBase(a5),a6
  5587.     jsr    rtEZRequestA(a6)
  5588.  
  5589.     bsr.w    WaitPointer
  5590.     rts
  5591.  
  5592. SaveOrContTags:
  5593.     dc.l    RT_Window
  5594. WindowCont:
  5595.     dc.l    0
  5596.     dc.l    RT_ReqPos,REQPOS_CENTERWIN
  5597.     dc.l    RT_WaitPointer,1
  5598.     dc.l    RT_Underscore,'_'
  5599.     dc.l    RT_LockWindow,1
  5600.     dc.l    RTEZ_ReqTitle,InfoGad
  5601.     dc.l    0
  5602.  
  5603. Arguments:
  5604.     dc.l    FilesID
  5605.     dc.l    0
  5606.     dc.l    0
  5607.     dc.l    0
  5608. FilesID:
  5609.     dc.l    0
  5610.     dc.b    0
  5611.  
  5612. SaveOrContText:
  5613.     dc.b    'File ID              : %s',10
  5614.     dc.b    'File original length : %ld bytes',10
  5615.     dc.b    'File   packed length : %ld bytes',10
  5616.     dc.b    'Comment about packer : %s',0
  5617.  
  5618. SaveOrContGad:
  5619.     dc.b    '_Save file|_Decrunch & save|_Abort|_Continue',0
  5620.  
  5621. InfoGad:
  5622.     dc.b    'Information',0
  5623.  
  5624. UnknownText:
  5625.     dc.b    'File ID              : %s',10
  5626.     dc.b    'File original length : %ld bytes',10
  5627.     dc.b    'File   packed length : %s',10
  5628.     dc.b    'Comment about packer : %s',0
  5629.  
  5630. Unknown:
  5631.     dc.b    'unknown',0
  5632.  
  5633. ;    MSS            game Ran Trainer
  5634. ;    CMP1            game ?
  5635. ;    PAKO            game Project Battlefield
  5636. ;    SAND            game Project Battlefield
  5637. ;    LOB            game Chambers of Shaolin ( #$C350 )
  5638. ;                game Last Ninja Remix ( #$5000 )
  5639. ;                game Stone Age ( #$BB8 )
  5640. ;                game Amberstar ( #$??? )
  5641. ;                game Ambermoon ( #$400 i #$800 )
  5642. ;                game Wings Of Death ( #$9C4 )
  5643. ;    AXIS            demo Big Time Sensuality
  5644. ;    Graftgold        game Empire Soccer
  5645. ;    FUCK            game 9 lives
  5646. ;    JEK! (end of file)    game Seven Gates Of Jambala
  5647. ;    HUFF            game Last Ninja II
  5648. ;    MARC (end of file)    game Flimbo's Quest,Venom
  5649. ;    CHFI            game Bubble & Squeak (AudioGenic)
  5650. ;                game Dizzy (IMP!)
  5651. ;    CHFC            Code Masters (PP20)
  5652. ;    PAC1            game Gulp (RNC1)
  5653. ;    LR88            game Jungle Strike
  5654. ;    Z&G! (S404)?        Zulu and Grey Packer
  5655. ;    $b6b2afcb        demo Sequential - Andromeda
  5656.  
  5657. CrunchManiaText:
  5658.     dc.b    'Crunch Mania',10,'by Thomas Schwarz',0
  5659. PaCKText:
  5660.     dc.b    '???',10,'by WANTON - Crunch Mania clone - CrM!',0
  5661. ViS1Text:
  5662.     dc.b    '???',10,'by ??? - Crunch Mania clone - CrM!',0
  5663. ViSLText:
  5664.     dc.b    '???',10,'by ??? - Crunch Mania clone - CrM2',0
  5665. RNCText:
  5666.     dc.b    'Pro Pack V2.??',10,'by Rob Northen',0
  5667.     ;dc.b    'Nick Pelling',0
  5668. RNCOldText:
  5669.     dc.b    'Pro Pack Old',10,'by Rob Northen',0
  5670. RNCFakeText:
  5671.     dc.b    '???',10,'by ??? - Pro Pack clone - RNC1',0
  5672. ATNText:
  5673.     dc.b    '???',10,'by Stefan Boberg - FImp clone - IMP!',0
  5674. SBText:
  5675.     dc.b    'LhA 3.0 converter',10,'by Stefan Boberg',0
  5676. IMPText:
  5677.     dc.b    'File Imploder',10,'by Albert Jan Brouwer',0
  5678. DupaText:
  5679.     dc.b    '???',10,'by ??? - FImp clone - IMP!',0
  5680. StoneText:
  5681.     dc.b    'Stone Cracker',10,'by Jouni Korhonen',0
  5682. ArcDText:
  5683.     dc.b    '???',10,'by Max Brown and Bill Duncan',0
  5684. Text89A8:
  5685.     dc.b    'Stone Cracker 2.99',10,'by Jouni Korhonen',0
  5686. XPKFText:
  5687.     dc.b    'xpk????.library',10,'by ???',0
  5688. xVdgText:
  5689.     dc.b    'AMOS Compiler',10,'by Fran',$e7,'ois Lionet - Byte Killer fake',0
  5690. Ace?Text:
  5691.     dc.b    '???',10,'by ???',0
  5692. IAMText:
  5693.     dc.b    'IAM Packer',10,'by Ken of Analog',0
  5694. LOBText:
  5695.     dc.b    'Thalion Packer',10,'by Lothar Becks',0
  5696. MagnText:
  5697.     dc.b    'Magnetic Fields Cruncher',10,'by Magnetic Fields',0
  5698. TITSText:
  5699.     dc.b    '???',10,'by ??? - Power Packer fake - PP20',0
  5700. GraftGoldText:
  5701.     dc.b    'GraftGold Cruncher',10,'by ???',0
  5702. PMCText:
  5703.     dc.b    'Power Player Music Cruncher',10,'by Stephan Fuhrmann',0
  5704. VDCOText:
  5705.     dc.b    'Virtual Dreams Cruncher',10,'by Virtual Dreams',0
  5706. ALC0Text:
  5707.     dc.b    'Alcatraz Cruncher',10,'by Alcatraz',0
  5708. GP11Text:
  5709.     dc.b    'Gnu Packer',10,'by Tax of Gnu Design (Thomas Neumann)',0
  5710. StoneFakeText:
  5711.     dc.b    '???',10,'by ??? - Stone Cracker clone - S404',0
  5712. Stone2FakeText:
  5713.     dc.b    '???',10,'by ??? - Stone Cracker clone - S401',0
  5714. Stone3FakeText:
  5715.     dc.b    '???',10,'by ??? - Stone Cracker clone - S300',0
  5716. PowerPackerText:
  5717.     dc.b    'Power Packer',10,'by Nico Fran',$e7,'ois',0
  5718. BondText:
  5719.     dc.b    'Bond Cruncher',10,'by A.R.Bond',0
  5720. TSMText:
  5721.     dc.b    '???',10,'by ??? - Ice! fake',0
  5722. TazText:
  5723.     dc.b    '???',10,'by ??? - ICE! fake',0
  5724. LZWHText:
  5725.     dc.b    '???',10,'by ??? - LZWH fake',0
  5726. MasterText:
  5727.     dc.b    '???',10,'by ??? - Master Cruncher 3.0 clone',0
  5728. Master3Text:
  5729.     dc.b    'Master Cruncher 3.0',10,'by Robert Frahm & Michael Cremer',0
  5730. ByteKillerText
  5731.     dc.b    '???',10,'by ??? - Byte Killer clone',0
  5732. TurtleSmasher2
  5733.     dc.b    'Found file ID: T.S 2.00 - Turtle Smasher 2.00 data',0
  5734. BHC3Text
  5735.     dc.b    'Blue House Cruncher',10,'by Nicholas Clarke',0
  5736. TPWMText
  5737.     dc.b    'Turbo Packer',10,'by Wolfgang Mayerle',0
  5738.     CNOP 0,2
  5739.  
  5740. xpkID:
  5741.     dc.l    'ACCA'
  5742.     dc.l    ACCAText
  5743.  
  5744.     dc.l    'BLZW'
  5745.     dc.l    BLZWText
  5746.  
  5747.     dc.l    'CBR0'
  5748.     dc.l    CBR0Text
  5749.  
  5750.     dc.l    'CRM2'
  5751.     dc.l    CRM2Text
  5752.  
  5753.     dc.l    'CRMS'
  5754.     dc.l    CRMSText
  5755.  
  5756.     dc.l    'DLTA'
  5757.     dc.l    DLTAText
  5758.  
  5759.     dc.l    'ELZX'
  5760.     dc.l    ELZXText
  5761.  
  5762.     dc.l    'ENCO'
  5763.     dc.l    ENCOText
  5764.  
  5765.     dc.l    'FAST'
  5766.     dc.l    FASTText
  5767.  
  5768.     dc.l    'FEAL'
  5769.     dc.l    FEALText
  5770.  
  5771.     dc.l    'GZIP'
  5772.     dc.l    GZIPText
  5773.  
  5774.     dc.l    'HFMN'
  5775.     dc.l    HFMNText
  5776.  
  5777.     dc.l    'HUFF'
  5778.     dc.l    HUFFText
  5779.  
  5780.     dc.l    'IDEA'
  5781.     dc.l    IDEAText
  5782.  
  5783.     dc.l    'ILZR'
  5784.     dc.l    ILZRText
  5785.  
  5786.     dc.l    'IMPL'
  5787.     dc.l    IMPLText
  5788.  
  5789.     dc.l    'LZCB'
  5790.     dc.l    LZCBText
  5791.  
  5792.     dc.l    'MASH'
  5793.     dc.l    MASHText
  5794.  
  5795.     dc.l    'NONE'
  5796.     dc.l    NONEText
  5797.  
  5798.     dc.l    'NUKE'
  5799.     dc.l    NUKEText
  5800.  
  5801.     dc.l    'PPMQ'
  5802.     dc.l    PPMQText
  5803.  
  5804.     dc.l    'PWPK'
  5805.     dc.l    PWPKText
  5806.  
  5807.     dc.l    'RAKE'
  5808.     dc.l    RAKEText
  5809.  
  5810.     dc.l    'RDCN'
  5811.     dc.l    RDCNText
  5812.  
  5813.     dc.l    'RLEN'
  5814.     dc.l    RLENText
  5815.  
  5816.     dc.l    'SHRI'
  5817.     dc.l    SHRIText
  5818.  
  5819.     dc.l    'SLZX'
  5820.     dc.l    SLZXText
  5821.  
  5822.     dc.l    'SMPL'
  5823.     dc.l    SMPLText
  5824.  
  5825.     dc.l    'SQSH'
  5826.     dc.l    SQSHText
  5827.  
  5828.     dc.l    0
  5829.  
  5830. ACCAText
  5831.     dc.b    'xpkACCA.library',10,'by Andr',$e9,' Osterhues',0
  5832. BLZWText:
  5833.     dc.b    'xpkBLZW.library',10,'by Bryan Ford',0
  5834. CBR0Text:
  5835.     dc.b    'xpkCBR0.library',10,'by Bilbo of Hypenosis',0
  5836. CRM2Text:
  5837.     dc.b    'xpkCRM2.library',10,'by Thomas Schwarz',0
  5838. CRMSText:
  5839.     dc.b    'xpkCRMS.library',10,'by Thomas Schwarz',0
  5840. DLTAText:
  5841.     dc.b    'xpkDLTA.library',10,'by Stephan Fuhrmann',0
  5842. ELZXText:
  5843.     dc.b    'xpkELZX.library',10,'by Adam Przybyla and Piotr Kasprzyk',0
  5844. ENCOText:
  5845.     dc.b    'xpkENCO.library',10,'by Urban Dominik M',$fc,'ller',0
  5846. FASTText:
  5847.     dc.b    'xpkFAST.library',10,'by Christian von Roques',0
  5848. FEALText:
  5849.     dc.b    'xpkFEAL.library',10,'by Christian von Roques',0
  5850. GZIPText:
  5851.     dc.b    'xpkGZIP.library',10,'by Antonio Schifano',0
  5852. HFMNText:
  5853.     dc.b    'xpkHFMN.library',10,'by Martin Hauner',0
  5854. HUFFText:
  5855.     dc.b    'xpkHUFF.library',10,'by Marc Zimmermann',0
  5856. IDEAText:
  5857.     dc.b    'xpkIDEA.library',10,'by Andr',$e9,' Beck',0
  5858. ILZRText:
  5859.     dc.b    'xpkILZR.library',10,'by Jose Renau',0
  5860. IMPLText:
  5861.     dc.b    'xpkIMPL.library',10,'by Peter Struijk',0
  5862. LZCBText:
  5863.     dc.b    'xpkLZCB.library',10,'by Charles Bloom',0
  5864. MASHText:
  5865.     dc.b    'xpkMASH.library',10,'by Zdenek Kabelac',0
  5866. NONEText:
  5867.     dc.b    'xpkNONE.library',10,'by Urban Dominik M',$fc,'ller',0
  5868. NUKEText:
  5869.     dc.b    'xpkNUKE.library',10,'by Urban Dominik M',$fc,'ller',0
  5870. PPMQText:
  5871.     dc.b    'xpkPPMQ.library',10,'by Charles Bloom',0
  5872. PWPKText:
  5873.     dc.b    'xpkPWPK.library',10,'by Michael J. Barsoom',0
  5874. RAKEText:
  5875.     dc.b    'xpkRAKE.library',10,'by Karsten Dagef',$f6,'rde',0
  5876. RDCNText:
  5877.     dc.b    'xpkRDCN.library',10,'by Daniel Frey',0
  5878. RLENText:
  5879.     dc.b    'xpkRLEN.library',10,'by Urban Dominik M',$fc,'ller',0
  5880. SHRIText:
  5881.     dc.b    'xpkSHRI.library',10,'by Matthias Meixner',0
  5882. SLZXText:
  5883.     dc.b    'xpkSLZX.library',10,'by Adam Przybyla and Piotr Kasprzyk',0
  5884. SMPLText:
  5885.     dc.b    'xpkSMPL.library',10,'by Jorma Oksanen',0
  5886. SQSHText:
  5887.     dc.b    'xpkSQSH.library',10,'by John Hendrikx',0
  5888.  
  5889.     CNOP 0,2
  5890.  
  5891. ***************************************************************************
  5892.  
  5893. Fill:
  5894.     movem.l    d0/d3-d7/a0-a1,-(a7)
  5895.  
  5896.     move.l    a0,d2
  5897.  
  5898.     move.l    AllocStart(a5),d0
  5899.     move.l    AllocEnd(a5),d1
  5900.     sub.l    d0,d1
  5901.     sub.l    d0,d2
  5902.     rol.l    #4,d1
  5903.     rol.l    #4,d2
  5904.     clr.w    d1
  5905.     clr.w    d2
  5906.     swap    d1
  5907.     swap    d2
  5908.     tst.l    d1
  5909.     beq.b    NoDiv
  5910.  
  5911.     mulu.w    #618,d2
  5912.     divu.w    d1,d2
  5913.  
  5914.     moveq    #3,d0
  5915.     bsr.w    Pen
  5916.  
  5917.     move.w    #11,d0
  5918.     move.w    #68,d1
  5919.     addi.w    #10,d2
  5920.     move.w    #72,d3
  5921.     move.l    Windows(a5),a1
  5922.     move.l    WindowRastPort(a1),a1
  5923.     move.l    GrfxBase(a5),a6
  5924.     jsr    RectFill(a6)
  5925.  
  5926.     move.l    Windows(a5),a0
  5927.     move.l    IDCMP(a0),a0
  5928.     move.l    GadBase(a5),a6
  5929.     jsr    GT_GetIMsg(a6)
  5930.  
  5931.     tst.l    d0
  5932.     beq.b    NoDiv
  5933.  
  5934.     move.l    d0,a1
  5935.     move.l    $14(a1),d5
  5936.     move.w    $18(a1),d6
  5937.     jsr    GT_ReplyIMsg(a6)
  5938.  
  5939.     cmpi.l    #IDCMP_NEWSIZE,d5
  5940.     beq.b    NewSize2
  5941.  
  5942.     cmpi.w    #MENUDOWN,d6
  5943.     beq.b    NoDiv3
  5944.  
  5945.     cmpi.l    #IDCMP_VANILLAKEY,d5
  5946.     bne.b    NoDiv
  5947.  
  5948.     cmpi.w    #27,d6
  5949.     bne.b    NoDiv
  5950. NoDiv3:
  5951.     moveq    #1,d1
  5952.     bra.b    NoDiv2
  5953.  
  5954. NoDiv:
  5955.     moveq    #0,d1
  5956. NoDiv2:
  5957.     movem.l    (a7)+,d0/d3-d7/a0-a1
  5958.     rts
  5959.  
  5960. NewSize2:
  5961.     bsr.w    Size2
  5962.     bra.b    NoDiv
  5963.  
  5964. ***************************************************************************
  5965.  
  5966. FillZero:
  5967.     movem.l    d0-a6,-(a7)
  5968.  
  5969.     bsr.w    Pen
  5970.  
  5971.     move.w    #11,d0
  5972.     move.w    #68,d1
  5973.     move.w    #629,d2
  5974.     move.w    #72,d3
  5975.     move.l    Windows(a5),a1
  5976.     move.l    WindowRastPort(a1),a1
  5977.     move.l    GrfxBase(a5),a6
  5978.     jsr    RectFill(a6)
  5979.  
  5980.     movem.l    (a7)+,d0-a6
  5981.     rts
  5982.  
  5983. ***************************************************************************
  5984.  
  5985. LoadFile:
  5986.     bsr.b    Load
  5987.     bsr.w    WorkPointer
  5988.     bra.w    Main
  5989.  
  5990. Load:
  5991.     tst.l    FileList(a5)
  5992.     beq.b    NotFree
  5993.  
  5994.     move.l    FileList(a5),a0
  5995.     move.l    ReqBase(a5),a6
  5996.     jsr    rtFreeFileList(a6)
  5997.  
  5998.     clr.l    FileList(a5)
  5999.  
  6000. NotFree:
  6001.     lea    TagsLoad(pc),a0
  6002.     move.l    FileReqL(a5),a1
  6003.     lea    FileNameL(pc),a2
  6004.     lea    FileReqNameLoad(pc),a3
  6005.     move.l    ReqBase(a5),a6
  6006.     jsr    rtFileRequestA(a6)
  6007.  
  6008.     tst.l    d0
  6009.     beq.w    FileNotSelected
  6010.  
  6011.     move.l    d0,FileList(a5)
  6012.     move.l    d0,FileListReq(a5)
  6013.  
  6014.     move.l    d0,a0
  6015.     move.l    (a0),FileListAdd(a5)
  6016.  
  6017.     bsr.w    WaitPointer
  6018.  
  6019.     move.l    FileList(a5),a0
  6020.     move.l    8(a0),a0
  6021.  
  6022. LoadIt:
  6023.     lea    FullNameL(pc),a1
  6024.     move.l    FileReqL(a5),a2
  6025.     move.l    $10(a2),a2
  6026.     tst.b    (a2)
  6027.     beq.b    Petla2
  6028. Petla:
  6029.     move.b    (a2)+,(a1)+
  6030.     bne.b    Petla
  6031.     subq.l    #2,a1
  6032.     move.b    (a1)+,d0
  6033.     cmp.b    #':',d0
  6034.     beq.s    Petla2
  6035.     move.b    #'/',(a1)+
  6036. Petla2:
  6037.     move.b    (a0)+,(a1)+
  6038.     bne.b    Petla2
  6039.     move.b    #0,(a1)+
  6040.  
  6041.     clr.l    DiskVar(a5)
  6042.  
  6043.     bsr.w    FreeMemory
  6044.  
  6045.     lea    LoadingFile(pc),a0
  6046.     lea    FileL(pc),a1
  6047.     bsr.w    Printf
  6048.  
  6049.     lea    FullNameL(pc),a0
  6050.     move.l    a0,d1
  6051.     move.l    #1005,d2
  6052.     move.l    DosBase(a5),a6
  6053.     jsr    Open(a6)
  6054.  
  6055.     tst.l    d0
  6056.     beq.w    ErrorOpenFile
  6057.     move.l    d0,FileHandles(a5)
  6058.  
  6059.     lea    FullNameL(pc),a0
  6060.     move.l    a0,d1
  6061.     moveq    #-2,d2
  6062.     jsr    Lock(a6)
  6063.  
  6064.     tst.l    d0
  6065.     beq.w    ErrorLockFile
  6066.     move.l    d0,LockZap(a5)
  6067.  
  6068.     move.l    d0,d1
  6069.     lea    Bufor,a0
  6070.     move.l    a0,d2
  6071.     jsr    Examine(a6)
  6072.  
  6073.     move.l    LockZap(a5),d1
  6074.     jsr    UnLock(a6)
  6075.  
  6076. ;allokacja pamieci
  6077.  
  6078.     lea    Bufor(pc),a0
  6079.     move.l    124(a0),d0
  6080.  
  6081.     tst.l    d0
  6082.     beq.w    NoLoad
  6083.  
  6084.     lea    124(a0),a1
  6085.     lea    BufferSize(pc),a0
  6086.     bsr.w    Printf
  6087.  
  6088.     bsr.w    AllocMemory
  6089.  
  6090.     tst.l    d0
  6091.     beq.w    ErrorAllocMemory
  6092.  
  6093.     move.l    FileHandles(a5),d1
  6094.     move.l    AllocStart(a5),d2
  6095.     move.l    AllocLength(a5),d3
  6096.     move.l    DosBase(a5),a6
  6097.     jsr    Read(a6)
  6098.  
  6099. ErrorLockFile
  6100.     move.l    FileHandles(a5),d1
  6101.     jsr    Close(a6)
  6102.  
  6103. ErrorOpenFile
  6104.     bsr.w    IOError
  6105.     bne.w    ErrorFile
  6106.  
  6107.     lea    LoadOk(pc),a0
  6108.     bsr.w    PrintStatus
  6109.  
  6110.     cmp.l    #901120,AllocLength(a5)
  6111.     bne.b    NotDiskFile
  6112.  
  6113.     move.l    #1,DiskVar(a5)
  6114. NotDiskFile
  6115.     bra.b    GOGO
  6116.  
  6117. ErrorFile
  6118.     bsr.w    FreeMemory
  6119. GOGO
  6120.     move.l    FileListReq(a5),a0
  6121.     move.l    (a0),FileListReq(a5)
  6122.     move.l    8(a0),a0
  6123.     lea    FileNameS(pc),a1
  6124. CopyName:
  6125.     move.b    (a0)+,(a1)+
  6126.     bne.b    CopyName
  6127.  
  6128.     tst.l    DiskVar(a5)
  6129.     beq.b    NotConvert2
  6130.  
  6131.     tst.l    FormatNum(a5)
  6132.     beq.b    NotConvert2
  6133.  
  6134.     bsr.w    Converter
  6135. NotConvert2
  6136.     rts
  6137.  
  6138. IOError
  6139.     move.l    DosBase(a5),a6
  6140.     jsr    IoErr(a6)
  6141.     tst.l    d0
  6142.     beq.b    NotError
  6143.  
  6144.     move.l    d0,d1
  6145.     lea    Header(pc),a0
  6146.     move.l    a0,d2
  6147.     lea    PutChData(pc),a0
  6148.     move.l    a0,d3
  6149.     moveq    #100,d4
  6150.     jsr    Fault(a6)
  6151.  
  6152.     lea    PutChData(pc),a0
  6153.     bsr.w    PrintStatus
  6154.     moveq    #1,d0
  6155. NotError
  6156.     tst.l    d0
  6157.     rts
  6158.  
  6159. ***************************************************************************
  6160.  
  6161. SaveFile:
  6162.     cmpi.l    #'DOS ',DisplayID(a5)
  6163.     beq.b    ContSave0
  6164.  
  6165.     tst.l    SetNameZero(a5)
  6166.     bne.b    ContSave
  6167. ContSave0:
  6168.     bsr.w    WorkPointer
  6169.  
  6170.     lea    TagsSave(pc),a0
  6171.     move.l    FileReqS(a5),a1
  6172.     lea    FileNameS(pc),a2
  6173.     lea    FileReqNameSave(pc),a3
  6174.     move.l    ReqBase(a5),a6
  6175.     jsr    rtFileRequestA(a6)
  6176.  
  6177.     tst.l    d0
  6178.     beq.w    FileNotSelected
  6179.  
  6180.     tst.l    IncVar(a5)
  6181.     beq.b    ContSave2
  6182.  
  6183. ContSave:
  6184.     cmpi.l    #'DOS ',DisplayID(a5)
  6185.     beq.b    ContSave2
  6186.  
  6187.     tst.l    DecrError(a5)
  6188.     beq.b    .Once
  6189.     move.l    DecrError(a5),d1
  6190.     bra.b    .Loop
  6191. .Once
  6192.     moveq    #0,d1
  6193. .Loop
  6194.     bsr.w    NameZero
  6195.     dbf    d1,.Loop
  6196.  
  6197. ContSave2:
  6198.     bsr.w    WaitPointer
  6199.  
  6200.     lea    FileNameS(pc),a0
  6201.     lea    FullNameS(pc),a1
  6202.     move.l    FileReqS(a5),a2
  6203.     move.l    $10(a2),a2
  6204.     tst.b    (a2)
  6205.     beq.b    Petla4
  6206. Petla3:
  6207.     move.b    (a2)+,(a1)+
  6208.     bne.b    Petla3
  6209.     subq.l    #2,a1
  6210.     move.b    (a1)+,d0
  6211.     cmp.b    #':',d0
  6212.     beq.s    Petla4
  6213.     move.b    #'/',(a1)+
  6214. Petla4:
  6215.     move.b    (a0)+,(a1)+
  6216.     bne.b    Petla4
  6217.     move.b    #0,(a1)+
  6218.  
  6219.     lea    SavingFile(pc),a0
  6220.     lea    FileS(pc),a1
  6221.     bsr.w    Printf
  6222.  
  6223.     lea    FullNameS(pc),a0
  6224.     move.l    a0,d1
  6225.     move.l    #1006,d2
  6226.     move.l    DosBase(a5),a6
  6227.     jsr    Open(a6)
  6228.  
  6229.     tst.l    d0
  6230.     beq.w    ErrorOpenFile2
  6231.     move.l    d0,FileHandles(a5)
  6232.  
  6233.     move.l    d0,d1
  6234.     move.l    StartFileID(a5),d2
  6235.     move.l    PackedSize(a5),d3
  6236.     tst.l    PackedSize(a5)
  6237.     bne.b    NoZero
  6238.     move.l    OriginalSize(a5),d3
  6239. NoZero:
  6240.     jsr    Write(a6)
  6241.     move.l    d0,d2
  6242.  
  6243.     move.l    FileHandles(a5),d1
  6244.     jsr    Close(a6)
  6245.  
  6246.     tst.l    d0
  6247.     beq.w    ErrorCloseFile2
  6248.  
  6249.     cmp.l    d2,d3
  6250.     bne.w    DiskIsFull
  6251.  
  6252.     lea    Comment(pc),a0
  6253.     lea    ArgComment(pc),a1
  6254.  
  6255.     move.l    DisplayID(a5),10(a1)
  6256.  
  6257.     move.l    AllocStart(a5),d0
  6258.     move.l    StartFileID2(a5),d1
  6259.     sub.l    d0,d1
  6260.     move.l    d1,4(a1)
  6261.  
  6262.     clr.b    59(a0)
  6263.  
  6264.     tst.l    DiskVar(a5)
  6265.     beq.b    SetComm
  6266.  
  6267.     move.l    4(a1),d0
  6268.     move.l    d0,d1
  6269.     and.l    #$1ff,d0
  6270.     move.l    d0,4(a1)
  6271. ;    and.l    #$fffffe00,d1
  6272. ;    lsr.l    #8,d1
  6273. ;    lsr.l    #1,d1
  6274.     divu    #512,d1
  6275.     move.w    d1,8(a1)
  6276.  
  6277.     cmpi.l    #'DOS ',10(a1)
  6278.     bne.b    Set
  6279.     clr.l    4(a1)
  6280.     clr.w    8(a1)
  6281. Set:
  6282.     move.b    #' ',59(a0)
  6283.  
  6284. SetComm:
  6285.     bsr.w    RawDoFormat
  6286.  
  6287.     lea    FullNameS(pc),a0
  6288.     move.l    a0,d1
  6289.     lea    PutChData(pc),a0
  6290.     move.l    a0,d2
  6291.     jsr    SetComment(a6)
  6292.  
  6293. ErrorCloseFile2
  6294. ErrorOpenFile2
  6295.     bsr.w    IOError
  6296.     bne.w    ErrorFile2
  6297.  
  6298.     lea    SaveOk(pc),a0
  6299.     bsr.w    PrintStatus
  6300.  
  6301. ErrorFile2
  6302.     bsr.w    WorkPointer
  6303.  
  6304.     rts
  6305.  
  6306. DiskIsFull
  6307.     lea    DiskFull(pc),a0
  6308.     bsr.w    PrintStatus
  6309.  
  6310.     bra.b    ErrorFile2
  6311.  
  6312. ArgComment:
  6313.     dc.l    ArgComment1
  6314.     dc.l    0
  6315.     dc.w    0
  6316. ArgComment1:
  6317.     dc.l    0
  6318.     dc.w    0
  6319.  
  6320. ***************************************************************************
  6321.  
  6322. NameZero:
  6323.     lea    FileNameS(pc),a0
  6324.  
  6325.     tst.l    SetNameZero(a5)
  6326.     bne.b    AddName
  6327.  
  6328.     move.l    a0,a2
  6329. Loop:
  6330.     tst.b    (a0)+
  6331.     bne.b    Loop
  6332.     subq.l    #1,a0
  6333.     move.l    a0,d0
  6334.     sub.l    a2,d0
  6335.     addq.l    #1,d0
  6336.     move.l    d0,SetNameZero(a5)
  6337.     move.b    #'.',(a0)+
  6338.     move.b    #'0',(a0)+
  6339.     move.b    #'0',(a0)+
  6340.     move.b    #'1',(a0)
  6341.     move.b    #0,1(a0)
  6342.     rts
  6343.  
  6344. AddName:
  6345.     add.l    SetNameZero(a5),a0
  6346.     cmpi.b    #'9',2(a0)
  6347.     bne.b    Add0
  6348.     move.b    #'0',2(a0)
  6349.  
  6350.     cmpi.b    #'9',1(a0)
  6351.     bne.b    Add1
  6352.     move.b    #'0',1(a0)
  6353.  
  6354.     cmpi.b    #'9',(a0)
  6355.     bne.b    Add2
  6356.     move.b    #'0',(a0)
  6357.  
  6358.     rts
  6359.  
  6360. Add0:
  6361.     addq.b    #1,2(a0)
  6362.     rts
  6363. Add1:
  6364.     addq.b    #1,1(a0)
  6365.     rts
  6366. Add2:
  6367.     addq.b    #1,(a0)
  6368.     rts
  6369.  
  6370. ***************************************************************************
  6371.  
  6372. Prefs:
  6373.  
  6374. ;otarcie Window Prefs
  6375.  
  6376.     sub.l    a0,a0
  6377.     lea    WindowPrefTags(pc),a1
  6378.     move.l    IntBase(a5),a6
  6379.     jsr    OpenWindowTagList(a6)
  6380.  
  6381.     tst.l    d0
  6382.     beq.w    ErrorOpenWindowPrefs
  6383.     move.l    d0,WindowPrefs(a5)
  6384.     lea    WindowCheckID(pc),a0
  6385.     move.l    d0,(a0)
  6386.  
  6387.     move.l    Windows(a5),a0
  6388.     move.l    ReqBase(a5),a6
  6389.     jsr    rtLockWindow(a6)
  6390.     move.l    d0,WindowLock(a5)
  6391.  
  6392. ;ustawienie fontow Topaz 8
  6393.  
  6394.     lea    Font(pc),a0
  6395.     move.l    GrfxBase(a5),a6
  6396.     jsr    OpenFont(a6)
  6397.  
  6398.     move.l    d0,a0
  6399.     move.l    WindowPrefs(a5),a1
  6400.     move.l    WindowRastPort(a1),a1
  6401.     jsr    SetFont(a6)
  6402.  
  6403. ;odswiezenie okna
  6404.  
  6405.     move.l    WindowPrefs(a5),a0
  6406.     sub.l    a1,a1
  6407.     move.l    GadBase(a5),a6
  6408.     jsr    GT_RefreshWindow(a6)
  6409.  
  6410.     move.l    IncVar(a5),IncCancel(a5)
  6411.     move.l    DecrVar(a5),DecrCancel(a5)
  6412.     move.l    SkipVar(a5),SkipCancel(a5)
  6413.     move.l    DeepVar(a5),DeepCancel(a5)
  6414.     move.l    DriveNum(a5),DriveCancel(a5)
  6415.     move.l    FormatNum(a5),FormatCancel(a5)
  6416.     move.l    RNC_old(a5),RNCCancel(a5)
  6417.  
  6418.     moveq    #0,d6
  6419.     moveq    #0,d7
  6420. MainPrefs:
  6421.     move.l    WindowPrefs(a5),a0
  6422.     move.l    IDCMP(a0),a0
  6423.     move.l    Exec.w,a6
  6424.     jsr    WaitPort(a6)
  6425.  
  6426.     move.l    WindowPrefs(a5),a0
  6427.     move.l    IDCMP(a0),a0
  6428.     move.l    GadBase(a5),a6
  6429.     jsr    GT_GetIMsg(a6)
  6430.  
  6431.     tst.l    d0
  6432.     beq.s    MainPrefs
  6433.  
  6434.     move.l    d0,a1
  6435.     move.l    $14(a1),d5        ;Class
  6436.     move.w    $18(a1),d6        ;Code
  6437.     move.l    $1c(a1),a4        ;IAddress
  6438.     move.w    $22(a1),d7        ;MouseY
  6439.     jsr    GT_ReplyIMsg(a6)
  6440.  
  6441.     cmpi.l    #IDCMP_GADGETUP,d5
  6442.     bne.b    KeyPrefs
  6443.  
  6444.     move.w    $26(a4),d0
  6445.  
  6446.     cmpi.w    #6,d0
  6447.     beq.w    Drives
  6448.  
  6449.     cmpi.w    #7,d0
  6450.     beq.w    IncName
  6451.  
  6452.     cmpi.w    #8,d0
  6453.     beq.w    DecrName
  6454.  
  6455.     cmpi.w    #9,d0
  6456.     beq.w    SkipName
  6457.  
  6458.     cmpi.w    #10,d0
  6459.     beq.w    SavePrefs
  6460.  
  6461.     cmpi.w    #11,d0
  6462.     beq.w    UsePrefs
  6463.  
  6464.     cmpi.w    #12,d0
  6465.     beq.w    CancelPrefs
  6466.  
  6467.     cmpi.w    #13,d0
  6468.     beq.w    Disable
  6469.  
  6470.     cmpi.w    #14,d0
  6471.     beq.w    DeepName
  6472.  
  6473.     cmpi.w    #15,d0
  6474.     beq.w    Invert
  6475.  
  6476.     cmpi.w    #16,d0
  6477.     beq.w    Clear
  6478.  
  6479.     cmpi.w    #17,d0
  6480.     beq.w    ImageS
  6481.  
  6482.     cmpi.w    #18,d0
  6483.     beq.w    Formats
  6484.  
  6485.     cmpi.w    #19,d0
  6486.     beq.w    RNC
  6487.  
  6488. KeyPrefs:
  6489.     cmpi.l    #IDCMP_VANILLAKEY,d5
  6490.     bne.w    MainPrefs
  6491.  
  6492.     cmpi.w    #27,d6
  6493.     beq.w    CancelPrefs
  6494.  
  6495.     cmpi.w    #'d',d6
  6496.     beq.w    SelectDrive
  6497.  
  6498.     cmpi.w    #'o',d6
  6499.     beq.w    SelectFormat
  6500.  
  6501.     cmpi.w    #'i',d6
  6502.     beq.b    SelectInc
  6503.  
  6504.     cmpi.w    #'e',d6
  6505.     beq.w    SelectDecr
  6506.  
  6507.     cmpi.w    #'k',d6
  6508.     beq.w    SelectSkip
  6509.  
  6510.     cmpi.w    #'r',d6
  6511.     beq.w    SelectRNC
  6512.  
  6513.     cmpi.w    #'s',d6
  6514.     beq.w    SavePrefs
  6515.  
  6516.     cmpi.w    #'u',d6
  6517.     beq.w    UsePrefs
  6518.  
  6519.     cmpi.w    #'c',d6
  6520.     beq.w    CancelPrefs
  6521.  
  6522.     cmpi.w    #'p',d6
  6523.     beq.w    SelectDeep
  6524.  
  6525.     cmpi.w    #'v',d6
  6526.     beq.w    Invert
  6527.  
  6528.     cmpi.w    #'l',d6
  6529.     beq.w    Clear
  6530.  
  6531.     cmpi.w    #'m',d6
  6532.     beq.w    ImageS
  6533.  
  6534.     bra.w    MainPrefs
  6535.  
  6536. ***************************************************************************
  6537.  
  6538. Drives:
  6539.     and.l    #$0000ffff,d6
  6540.     move.l    d6,DriveNum(a5)
  6541.     bra.w    MainPrefs
  6542.  
  6543. ***************************************************************************
  6544.  
  6545. Formats:
  6546.     and.l    #$0000ffff,d6
  6547.     move.l    d6,FormatNum(a5)
  6548.     bra.w    MainPrefs
  6549.  
  6550. ***************************************************************************
  6551.  
  6552. IncName:
  6553.     eor.l    #1,IncVar(a5)
  6554.     bra.b    Tu
  6555.  
  6556. SelectInc:
  6557.     lea    Inc(pc),a1
  6558.     clr.l    (a1)
  6559.  
  6560.     tst.l    IncVar(a5)
  6561.     bne.b    NoSelect
  6562.  
  6563.     move.l    #1,(a1)
  6564. NoSelect:
  6565.     eor.l    #1,IncVar(a5)
  6566.  
  6567.     move.l    GadgetPref3(pc),a0
  6568.     move.l    WindowPrefs(a5),a1
  6569.     sub.l    a2,a2
  6570.     lea    IncTag(pc),a3
  6571.     move.l    GadBase(a5),a6
  6572.     jsr    GT_SetGadgetAttrsA(a6)
  6573. Tu:
  6574.     tst.l    IncVar(a5)
  6575.     bne.w    MainPrefs
  6576.  
  6577.     lea    Decr(pc),a0
  6578.     clr.l    (a0)
  6579.     clr.l    DecrVar(a5)
  6580.  
  6581.     move.l    GadgetPref4(pc),a0
  6582.     move.l    WindowPrefs(a5),a1
  6583.     sub.l    a2,a2
  6584.     lea    DecrTag(pc),a3
  6585.     move.l    GadBase(a5),a6
  6586.     jsr    GT_SetGadgetAttrsA(a6)
  6587.  
  6588.     bra.w    MainPrefs
  6589.  
  6590. IncTag:
  6591.     dc.l    GTCB_Checked
  6592. Inc:    dc.l    0
  6593.     dc.l    0
  6594.  
  6595. ***************************************************************************
  6596.  
  6597. DecrName:
  6598.     lea    DecrVar(a5),a0
  6599.     eor.l    #1,DecrVar(a5)
  6600.  
  6601.     bra.b    Change
  6602.  
  6603. SelectDecr:
  6604.     lea    Decr(pc),a1
  6605.     clr.l    (a1)
  6606.  
  6607.     tst.l    DecrVar(a5)
  6608.     bne.b    NoSelect2
  6609.  
  6610.     move.l    #1,(a1)
  6611. NoSelect2:
  6612.     eor.l    #1,DecrVar(a5)
  6613.  
  6614.     move.l    GadgetPref4(pc),a0
  6615.     move.l    WindowPrefs(a5),a1
  6616.     sub.l    a2,a2
  6617.     lea    DecrTag(pc),a3
  6618.     move.l    GadBase(a5),a6
  6619.     jsr    GT_SetGadgetAttrsA(a6)
  6620.  
  6621.     lea    Decr(pc),a0
  6622. Change:
  6623.     tst.l    (a0)
  6624.     beq.b    NoChange
  6625.  
  6626.     clr.l    IncVar(a5)
  6627.  
  6628.     bra.w    SelectInc
  6629.  
  6630. NoChange:
  6631.     move.l    #1,IncVar(a5)
  6632.  
  6633.     bra.w    SelectInc
  6634.  
  6635. DecrTag:
  6636.     dc.l    GTCB_Checked
  6637. Decr:    dc.l    0
  6638.     dc.l    0
  6639.  
  6640. ***************************************************************************
  6641.  
  6642. SelectDrive:
  6643.     lea    Drv(pc),a1
  6644.     move.l    DriveNum(a5),d0
  6645.     cmp.l    #3,d0
  6646.     beq.b    DriveWewn2
  6647.     addq.l    #1,DriveNum(a5)
  6648.     move.l    DriveNum(a5),(a1)
  6649. GadView:
  6650.     move.l    GadgetPref2(pc),a0
  6651.     move.l    WindowPrefs(a5),a1
  6652.     sub.l    a2,a2
  6653.     lea    DriveTag(pc),a3
  6654.     move.l    GadBase(a5),a6
  6655.     jsr    GT_SetGadgetAttrsA(a6)
  6656.  
  6657.     bra.w    MainPrefs
  6658.  
  6659. DriveWewn2:
  6660.     clr.l    DriveNum(a5)
  6661.     clr.l    (a1)
  6662.  
  6663.     bra.b    GadView
  6664.  
  6665. DriveTag:
  6666.     dc.l    GTCY_Active
  6667. Drv:    dc.l    0
  6668.     dc.l    0
  6669.  
  6670. ***************************************************************************
  6671.  
  6672. SelectFormat:
  6673.     lea    Format(pc),a1
  6674.     move.l    FormatNum(a5),d0
  6675.     cmp.l    #6,d0
  6676.     beq.b    FirstFormat
  6677.     addq.l    #1,FormatNum(a5)
  6678.     move.l    FormatNum(a5),(a1)
  6679. GadViewE
  6680.     move.l    GadgetPrefE(pc),a0
  6681.     move.l    WindowPrefs(a5),a1
  6682.     sub.l    a2,a2
  6683.     lea    FormatTag(pc),a3
  6684.     move.l    GadBase(a5),a6
  6685.     jsr    GT_SetGadgetAttrsA(a6)
  6686.  
  6687.     bra.w    MainPrefs
  6688.  
  6689. FirstFormat
  6690.     clr.l    FormatNum(a5)
  6691.     clr.l    (a1)
  6692.  
  6693.     bra.b    GadViewE
  6694.  
  6695. FormatTag:
  6696.     dc.l    GTCY_Active
  6697. Format:    dc.l    0
  6698.     dc.l    0
  6699.  
  6700. ***************************************************************************
  6701.  
  6702. SkipName:
  6703.     eor.l    #1,SkipVar(a5)
  6704.  
  6705.     bra.w    MainPrefs
  6706.  
  6707. SelectSkip:
  6708.     lea    Skip(pc),a1
  6709.     clr.l    (a1)
  6710.  
  6711.     tst.l    SkipVar(a5)
  6712.     bne.b    NoSelect3
  6713.  
  6714.     move.l    #1,(a1)
  6715. NoSelect3:
  6716.     eor.l    #1,SkipVar(a5)
  6717.  
  6718.     move.l    GadgetPref5(pc),a0
  6719.     move.l    WindowPrefs(a5),a1
  6720.     sub.l    a2,a2
  6721.     lea    SkipTag(pc),a3
  6722.     move.l    GadBase(a5),a6
  6723.     jsr    GT_SetGadgetAttrsA(a6)
  6724.  
  6725.     bra.w    MainPrefs
  6726.  
  6727. SkipTag:
  6728.     dc.l    GTCB_Checked
  6729. Skip:    dc.l    0
  6730.     dc.l    0
  6731.  
  6732. ***************************************************************************
  6733.  
  6734. Disable:
  6735.     move.l    WindowPrefs(a5),a0
  6736.     move.l    GadBase(a5),a6
  6737.     jsr    GT_BeginRefresh(a6)
  6738.  
  6739.     move.l    GadgetPref9(pc),a0
  6740.     move.l    WindowPrefs(a5),a1
  6741.     sub.l    a2,a2
  6742.     lea    TagsListNil(pc),a3
  6743.     jsr    GT_SetGadgetAttrsA(a6)
  6744.  
  6745.     move.l    d6,Top            ; d6 = code
  6746.     sub.w    #37,d7            ; d7 = mouseY
  6747.     lsr.w    #3,d7
  6748.     sub.w    d7,Top+2
  6749.     bpl.b    Go
  6750.     clr.l    Top
  6751. Go:
  6752.     lea    EnableID(pc),a0
  6753.     add.w    d6,d6
  6754.     add.w    d6,d6
  6755.     add.l    d6,a0
  6756.     move.l    (a0),a0
  6757.     cmpi.b    #'D',(a0)
  6758.     beq.b    D
  6759.     move.b    #'D',(a0)
  6760.     bra.b    D1
  6761. D:
  6762.     move.b    #' ',(a0)
  6763. D1:
  6764.     moveq    #1,d0
  6765.     move.l    WindowPrefs(a5),a0
  6766.     jsr    GT_EndRefresh(a6)
  6767.  
  6768.     move.l    GadgetPref9(pc),a0
  6769.     move.l    WindowPrefs(a5),a1
  6770.     sub.l    a2,a2
  6771.     lea    TagListView(pc),a3
  6772.     jsr    GT_SetGadgetAttrsA(a6)
  6773.  
  6774.     bra.w    MainPrefs
  6775.  
  6776. TagsListNil:
  6777.     dc.l    GTLV_Labels,0
  6778.     dc.l    0
  6779.  
  6780. ***************************************************************************
  6781.  
  6782. SavePrefs:
  6783.     bsr.w    CheckEnableID
  6784.     bne.w    MainPrefs
  6785.  
  6786.     moveq    #0,d0
  6787.     moveq    #0,d7
  6788.     lea    EnableID(pc),a0
  6789.     lea    Enable1(a5),a1
  6790. Loops:
  6791.     tst.l    (a0)
  6792.     beq.b    QuitSavePrefs
  6793.     move.l    (a0),a2
  6794.     cmpi.b    #32,d7
  6795.     bne.b    NoOver
  6796.     moveq    #0,d0
  6797.     moveq    #0,d7
  6798.     addq.l    #4,a1
  6799. NoOver:
  6800.     cmpi.b    #'D',(a2)
  6801.     bne.b    NoDisable
  6802.     bset    d7,d0
  6803. NoDisable:    
  6804.     move.l    d0,(a1)
  6805.     addq.b    #1,d7
  6806.     addq.l    #4,a0
  6807.     bra.b    Loops
  6808. QuitSavePrefs:
  6809.  
  6810.     move.l    IncVar(a5),IncFileName(a5)
  6811.     move.l    DecrVar(a5),DecrFile(a5)
  6812.     move.l    SkipVar(a5),SkipFile(a5)
  6813.     move.l    DeepVar(a5),DeepSearch(a5)
  6814.     move.w    FormatNum+2(a5),FormatNumbers(a5)
  6815.     move.w    DriveNum+2(a5),DriveNumbers(a5)
  6816. ;    move.l    RNCVar(a5),RNC_old(a5)
  6817.  
  6818.     lea    PrefsName(pc),a0
  6819.     move.l    a0,d1
  6820.     move.l    #1006,d2
  6821.     move.l    DosBase(a5),a6
  6822.     jsr    Open(a6)
  6823.  
  6824.     tst.l    d0
  6825.     beq.w    ErrorSavePrefs
  6826.     move.l    d0,FileHandles(a5)
  6827.  
  6828.     move.l    d0,d1
  6829.     lea    Enable1(a5),a0
  6830.     move.l    a0,d2
  6831.     moveq    #50,d3
  6832.     jsr    Write(a6)
  6833.  
  6834.     move.l    d0,d2
  6835.  
  6836.     move.l    FileHandles(a5),d1
  6837.     jsr    Close(a6)
  6838.  
  6839.     tst.l    d0
  6840.     beq.w    ErrorSavePrefs
  6841.  
  6842.     tst.l    d2
  6843.     beq.w    ErrorSavePrefs
  6844.  
  6845.     lea    SavePrefsText(pc),a0
  6846.     bsr.w    PrintStatus
  6847.  
  6848.     bra.w    QuitPrefs
  6849.  
  6850. ErrorSavePrefs:
  6851.     lea    ErrorSavePrefsText(pc),a0
  6852.     bsr.w    PrintStatus
  6853.  
  6854.     bra.w    QuitPrefs
  6855.  
  6856. ***************************************************************************
  6857.  
  6858. UsePrefs:
  6859.     bsr.w    CheckEnableID
  6860.     bne.w    MainPrefs
  6861.  
  6862.     moveq    #0,d0
  6863.     moveq    #0,d7
  6864.     lea    EnableID(pc),a0
  6865.     lea    Enable1(a5),a1
  6866. Loops2:
  6867.     tst.l    (a0)
  6868.     beq.b    QuitUsePrefs
  6869.     move.l    (a0),a2
  6870.     cmpi.b    #32,d7
  6871.     bne.b    NoOver2
  6872.     moveq    #0,d0
  6873.     moveq    #0,d7
  6874.     addq.l    #4,a1
  6875. NoOver2:
  6876.     cmpi.b    #'D',(a2)
  6877.     bne.b    NoDisable2
  6878.     bset    d7,d0
  6879. NoDisable2:    
  6880.     move.l    d0,(a1)
  6881.     addq.b    #1,d7
  6882.     addq.l    #4,a0
  6883.     bra.b    Loops2
  6884. QuitUsePrefs:
  6885.     move.l    IncVar(a5),IncFileName(a5)
  6886.     move.l    DecrVar(a5),DecrFile(a5)
  6887.     move.l    SkipVar(a5),SkipFile(a5)
  6888.     move.l    DeepVar(a5),DeepSearch(a5)
  6889.     move.w    FormatNum+2(a5),FormatNumbers(a5)
  6890.     move.w    DriveNum+2(a5),DriveNumbers(a5)
  6891. ;    move.l    RNCVar(a5),RNC_old(a5)
  6892.  
  6893.     bra.w    QuitPrefs
  6894.  
  6895. ***************************************************************************
  6896.  
  6897. CancelPrefs:
  6898.     moveq    #0,d7
  6899.     lea    EnableID(pc),a0
  6900.     lea    Enable1(a5),a1
  6901.     move.l    (a1)+,d0
  6902. Loops3:
  6903.     tst.l    (a0)
  6904.     beq.b    QuitCancelPrefs
  6905.     move.l    (a0),a2
  6906.     cmpi.b    #32,d7
  6907.     bne.b    NoOver3
  6908.     moveq    #0,d7
  6909.     move.l    (a1)+,d0
  6910. NoOver3:
  6911.     btst    d7,d0
  6912.     beq.b    NoDisable3
  6913.     move.b    #'D',(a2)
  6914.     bra.b    NoDisable4
  6915. NoDisable3:    
  6916.     move.b    #' ',(a2)
  6917. NoDisable4:
  6918.     addq.b    #1,d7
  6919.     addq.l    #4,a0
  6920.     bra.b    Loops3
  6921. QuitCancelPrefs:
  6922.  
  6923.     move.l    DriveCancel(a5),Drv
  6924.     move.l    DriveCancel(a5),DriveNum(a5)
  6925. ;    move.l    DriveCancel(a5),DriveActive
  6926.  
  6927.     move.l    GadgetPref2(pc),a0
  6928.     move.l    WindowPrefs(a5),a1
  6929.     sub.l    a2,a2
  6930.     lea    DriveTag(pc),a3
  6931.     move.l    GadBase(a5),a6
  6932.     jsr    GT_SetGadgetAttrsA(a6)
  6933.  
  6934.     move.l    FormatCancel(a5),Format
  6935.     move.l    FormatCancel(a5),FormatNum(a5)
  6936. ;    move.l    FormatCancel(a5),FormatActive
  6937.  
  6938.     move.l    GadgetPrefE(pc),a0
  6939.     move.l    WindowPrefs(a5),a1
  6940.     sub.l    a2,a2
  6941.     lea    FormatTag(pc),a3
  6942.     move.l    GadBase(a5),a6
  6943.     jsr    GT_SetGadgetAttrsA(a6)
  6944.  
  6945.     move.l    IncCancel(a5),Inc
  6946.     move.l    IncCancel(a5),IncVar(a5)
  6947. ;    move.l    IncCancel(a5),IncCheck
  6948.  
  6949.     move.l    GadgetPref3(pc),a0
  6950.     move.l    WindowPrefs(a5),a1
  6951.     sub.l    a2,a2
  6952.     lea    IncTag(pc),a3
  6953.     move.l    GadBase(a5),a6
  6954.     jsr    GT_SetGadgetAttrsA(a6)
  6955.  
  6956.     move.l    DecrCancel(a5),Decr
  6957.     move.l    DecrCancel(a5),DecrVar(a5)
  6958.  
  6959.     move.l    GadgetPref4(pc),a0
  6960.     move.l    WindowPrefs(a5),a1
  6961.     sub.l    a2,a2
  6962.     lea    DecrTag(pc),a3
  6963.     move.l    GadBase(a5),a6
  6964.     jsr    GT_SetGadgetAttrsA(a6)
  6965.  
  6966.     move.l    SkipCancel(a5),Skip
  6967.     move.l    SkipCancel(a5),SkipVar(a5)
  6968.  
  6969.     move.l    GadgetPref5(pc),a0
  6970.     move.l    WindowPrefs(a5),a1
  6971.     sub.l    a2,a2
  6972.     lea    SkipTag(pc),a3
  6973.     move.l    GadBase(a5),a6
  6974.     jsr    GT_SetGadgetAttrsA(a6)
  6975.  
  6976.     move.l    DeepCancel(a5),Dee
  6977.     move.l    DeepCancel(a5),DeepVar(a5)
  6978.  
  6979.     move.l    GadgetPrefA(pc),a0
  6980.     move.l    WindowPrefs(a5),a1
  6981.     sub.l    a2,a2
  6982.     lea    DeepTag(pc),a3
  6983.     move.l    GadBase(a5),a6
  6984.     jsr    GT_SetGadgetAttrsA(a6)
  6985.  
  6986.     move.l    RNCCancel(a5),RNC_
  6987.     move.l    RNCCancel(a5),RNC_old(a5)
  6988.  
  6989.     move.l    GadgetPrefF(pc),a0
  6990.     move.l    WindowPrefs(a5),a1
  6991.     sub.l    a2,a2
  6992.     lea    RNCTag(pc),a3
  6993.     move.l    GadBase(a5),a6
  6994.     jsr    GT_SetGadgetAttrsA(a6)
  6995.  
  6996.     bra.w    QuitPrefs
  6997.  
  6998. ***************************************************************************
  6999.  
  7000. DeepName:
  7001.     eor.l    #1,DeepVar(a5)
  7002.  
  7003.     bra.w    MainPrefs
  7004.  
  7005. SelectDeep:
  7006.     lea    Dee(pc),a1
  7007.     clr.l    (a1)
  7008.  
  7009.     tst.l    DeepVar(a5)
  7010.     bne.b    NoSelect7
  7011.  
  7012.     move.l    #1,(a1)
  7013. NoSelect7:
  7014.     eor.l    #1,DeepVar(a5)
  7015.  
  7016.     move.l    GadgetPrefA(pc),a0
  7017.     move.l    WindowPrefs(a5),a1
  7018.     sub.l    a2,a2
  7019.     lea    DeepTag(pc),a3
  7020.     move.l    GadBase(a5),a6
  7021.     jsr    GT_SetGadgetAttrsA(a6)
  7022.  
  7023.     bra.w    MainPrefs
  7024.  
  7025. DeepTag:
  7026.     dc.l    GTCB_Checked
  7027. Dee:    dc.l    0
  7028.     dc.l    0
  7029.  
  7030. ***************************************************************************
  7031.  
  7032. RNC:
  7033.     eor.l    #1,RNC_old(a5)
  7034.  
  7035.     bra.w    MainPrefs
  7036.  
  7037. SelectRNC:
  7038.     lea    RNC_(pc),a1
  7039.     clr.l    (a1)
  7040.  
  7041.     tst.l    RNC_old(a5)
  7042.     bne.b    NoSelect8
  7043.  
  7044.     move.l    #1,(a1)
  7045. NoSelect8
  7046.     eor.l    #1,RNC_old(a5)
  7047.  
  7048.     move.l    GadgetPrefF(pc),a0
  7049.     move.l    WindowPrefs(a5),a1
  7050.     sub.l    a2,a2
  7051.     lea    RNCTag(pc),a3
  7052.     move.l    GadBase(a5),a6
  7053.     jsr    GT_SetGadgetAttrsA(a6)
  7054.  
  7055.     bra.w    MainPrefs
  7056.  
  7057. RNCTag:
  7058.     dc.l    GTCB_Checked
  7059. RNC_:    dc.l    0
  7060.     dc.l    0
  7061.  
  7062. ***************************************************************************
  7063.  
  7064.  
  7065. Invert:
  7066.     move.l    WindowPrefs(a5),a0
  7067.     move.l    GadBase(a5),a6
  7068.     jsr    GT_BeginRefresh(a6)
  7069.  
  7070.     move.l    GadgetPref9(pc),a0
  7071.     move.l    WindowPrefs(a5),a1
  7072.     sub.l    a2,a2
  7073.     lea    TagsListNil(pc),a3
  7074.     jsr    GT_SetGadgetAttrsA(a6)
  7075.  
  7076.     lea    EnableID(pc),a0
  7077. Loops5
  7078.     tst.l    (a0)
  7079.     beq.b    QuitInvertPrefs
  7080.     move.l    (a0),a1
  7081.     cmpi.b    #'D',(a1)
  7082.     bne.b    NoDis
  7083.     move.b    #' ',(a1)
  7084.     bra.b    Dis
  7085. NoDis:
  7086.     move.b    #'D',(a1)
  7087. Dis:
  7088.     addq.l    #4,a0
  7089.     bra.b    Loops5
  7090.  
  7091. QuitInvertPrefs:
  7092.  
  7093.     moveq    #1,d0
  7094.     move.l    WindowPrefs(a5),a0
  7095.     jsr    GT_EndRefresh(a6)
  7096.  
  7097.     move.l    GadgetPref9(pc),a0
  7098.     move.l    WindowPrefs(a5),a1
  7099.     sub.l    a2,a2
  7100.     lea    TagListView(pc),a3
  7101.     jsr    GT_SetGadgetAttrsA(a6)
  7102.  
  7103.     bra.w    MainPrefs
  7104.  
  7105. ***************************************************************************
  7106.  
  7107. Clear:
  7108.     move.l    WindowPrefs(a5),a0
  7109.     move.l    GadBase(a5),a6
  7110.     jsr    GT_BeginRefresh(a6)
  7111.  
  7112.     move.l    GadgetPref9(pc),a0
  7113.     move.l    WindowPrefs(a5),a1
  7114.     sub.l    a2,a2
  7115.     lea    TagsListNil(pc),a3
  7116.     jsr    GT_SetGadgetAttrsA(a6)
  7117.  
  7118.     lea    EnableID(pc),a0
  7119. .Loops
  7120.     tst.l    (a0)
  7121.     beq.b    QuitClearPrefs
  7122.     move.l    (a0),a1
  7123.     move.b    #' ',(a1)
  7124.     addq.l    #4,a0
  7125.     bra.b    .Loops
  7126.  
  7127. QuitClearPrefs:
  7128.  
  7129.     moveq    #1,d0
  7130.     move.l    WindowPrefs(a5),a0
  7131.     jsr    GT_EndRefresh(a6)
  7132.  
  7133.     move.l    GadgetPref9(pc),a0
  7134.     move.l    WindowPrefs(a5),a1
  7135.     sub.l    a2,a2
  7136.     lea    TagListView(pc),a3
  7137.     jsr    GT_SetGadgetAttrsA(a6)
  7138.  
  7139.     bra.w    MainPrefs
  7140.  
  7141. ***************************************************************************
  7142.  
  7143. ImageS:
  7144.     tst.l    DiskVar(a5)
  7145.     beq.b    DiskNotLoad
  7146.  
  7147.     clr.l    StartFileID2(a5)
  7148.  
  7149.     move.l    #'DOS ',DisplayID(a5)
  7150.  
  7151.     move.l    StartFileID(a5),-(a7)
  7152.     move.l    AllocStart(a5),StartFileID(a5)
  7153.  
  7154.     move.l    PackedSize(a5),-(a7)
  7155.     move.l    AllocLength(a5),PackedSize(a5)
  7156.  
  7157.     bsr.w    SaveFile
  7158.  
  7159.     move.l    (a7)+,PackedSize(a5)
  7160.     move.l    (a7)+,StartFileID(a5)
  7161.  
  7162.     bra.w    MainPrefs
  7163.  
  7164. DiskNotLoad:
  7165.     lea    DiskNotL(pc),a0
  7166.     bsr.w    PrintStatus
  7167.  
  7168.     bra.w    MainPrefs
  7169.  
  7170. ***************************************************************************
  7171.  
  7172. CheckEnableID
  7173.     lea    EnableID(pc),a0
  7174. Loops6
  7175.     tst.l    (a0)
  7176.     beq.b    QuitCheckID
  7177.     move.l    (a0),a1
  7178.     cmpi.b    #' ',(a1)
  7179.     beq.b    NoDis6
  7180.     addq.l    #4,a0
  7181.     bra.b    Loops6
  7182. NoDis6
  7183.     moveq    #0,d0
  7184.     rts
  7185.  
  7186. QuitCheckID:
  7187.     lea    CheckIDText(pc),a1
  7188.     lea    CheckIDGad(pc),a2
  7189.     sub.l    a3,a3
  7190.     sub.l    a4,a4
  7191.     lea    CheckIDTags(pc),a0
  7192.     move.l    ReqBase(a5),a6
  7193.     jsr    rtEZRequestA(a6)
  7194.  
  7195.     moveq    #1,d0
  7196.     rts
  7197.  
  7198. CheckIDTags:
  7199.     dc.l    RT_Window
  7200. WindowCheckID:
  7201.     dc.l    0
  7202.     dc.l    RT_ReqPos,REQPOS_CENTERWIN
  7203.     dc.l    RT_WaitPointer,1
  7204.     dc.l    RT_Underscore,'_'
  7205.     dc.l    RT_LockWindow,1
  7206.     dc.l    RTEZ_Flags,EZREQF_CENTERTEXT
  7207.     dc.l    0
  7208. CheckIDText:
  7209.     dc.b    'Please, choose at least',10
  7210.     dc.b    'one ID to be checked',0
  7211. CheckIDGad:
  7212.     dc.b    '_Ok',0
  7213.  
  7214.     CNOP 0,2
  7215.  
  7216. ***************************************************************************
  7217.  
  7218. QuitPrefs:
  7219.     move.l    Windows(a5),a0
  7220.     move.l    WindowLock(a5),a1
  7221.     move.l    ReqBase(a5),a6
  7222.     jsr    rtUnlockWindow(a6)
  7223.  
  7224.     move.l    WindowPrefs(a5),a0
  7225.     move.l    IntBase(a5),a6
  7226.     jsr    CloseWindow(a6)
  7227.  
  7228.     bra.w    Main
  7229.  
  7230. ErrorOpenWindowPrefs:
  7231.  
  7232.     lea    ErrorOpenPrefs(pc),a0
  7233.     bsr.w    PrintStatus
  7234.  
  7235.     bra.w    Main
  7236.  
  7237. ***************************************************************************
  7238.  
  7239. About:
  7240.     lea    AboutText(pc),a1
  7241.     lea    AboutGad(pc),a2
  7242.     sub.l    a3,a3
  7243.     sub.l    a4,a4
  7244.     lea    AboutTags(pc),a0
  7245.     move.l    ReqBase(a5),a6
  7246.     jsr    rtEZRequestA(a6)
  7247.  
  7248.     bra.w    Main
  7249.  
  7250. AboutTags:
  7251.     dc.l    RT_Window
  7252. WindowAbout:
  7253.     dc.l    0
  7254.     dc.l    RT_ReqPos,REQPOS_CENTERWIN
  7255.     dc.l    RT_WaitPointer,1
  7256.     dc.l    RT_Underscore,'_'
  7257.     dc.l    RT_LockWindow,1
  7258.     dc.l    RTEZ_ReqTitle,Info
  7259.     dc.l    RTEZ_Flags,EZREQF_CENTERTEXT
  7260.     dc.l    0
  7261.  
  7262. AboutText:
  7263.     dc.b    'Track2File v1.22 beta',10
  7264.     dc.b    '(c) 1995-97 by Wanted Team',10,10
  7265.     dc.b    'Send new ideas , bug reports to:',10
  7266.     dc.b    'Mr.Larmer of Wanted Team',10
  7267.     dc.b    'Czeslaw Maron',10
  7268.     dc.b    'ul.sw.Anny 45/17',10
  7269.     dc.b    '42-700 Lubliniec',10
  7270.     dc.b    'Poland',10,10
  7271.     dc.b    'E-mail: mrlarmer@polbox.com',10,10
  7272.     dc.b    'All code in assembler',10
  7273.     dc.b    'This program (FreeWare) uses',10
  7274.     dc.b    'reqtools.library by Nico Fran',$e7,'ois',10
  7275.     dc.b    '& Magnus Holmgren',10
  7276.     dc.b    'xfdmaster.library by Georg H',$f6,'rmann',0
  7277. AboutGad:
  7278.     dc.b    '_Ok',0
  7279. Info:
  7280.     dc.b    'About',0
  7281.  
  7282.     CNOP 0,2
  7283.  
  7284. ***************************************************************************
  7285.  
  7286. BufferEmpty:
  7287.     lea    BufferEmptyText(pc),a0
  7288.     bsr.w    PrintStatus
  7289.     bsr.w    WorkPointer
  7290.     rts
  7291.  
  7292. *****************************************
  7293.  
  7294. FileNotSelected:
  7295.     lea    FileNotSelectedText(pc),a0
  7296.     bsr.w    PrintStatus
  7297.     rts
  7298.  
  7299. *****************************************
  7300.  
  7301. ErrorAllocMemory:
  7302.     lea    ErrorAllocMemoryText(pc),a0
  7303.     bsr.w    PrintStatus
  7304.     bsr.w    WorkPointer
  7305.     rts
  7306.  
  7307. *****************************************
  7308.  
  7309. NoLoad:
  7310.     lea    NoFi(pc),a0
  7311.     bsr.w    PrintStatus
  7312.     bsr.w    WorkPointer
  7313.     rts
  7314.  
  7315. *****************************************
  7316.  
  7317. FileL:
  7318.     dc.l    FullNameL
  7319. LoadingFile:
  7320.     dc.b    'Loading file "%1.58s"',0
  7321. BufferSize:
  7322.     dc.b    'Buffer size: %ld bytes',0
  7323. LoadOk:
  7324.     dc.b    'Status: load Ok!',0
  7325.     CNOP 0,2
  7326. FileS:
  7327.     dc.l    FullNameS
  7328. SavingFile:
  7329.     dc.b    'Saving file "%1.59s"',0
  7330. SaveOk:
  7331.     dc.b    'Status: save Ok!',0
  7332. DiskFull
  7333.     dc.b    'Status: disk is full!',0
  7334. ReadDiskText:
  7335.     dc.b    'Disk reading in drive %s',0
  7336. ReadDiskEndText:
  7337.     dc.b    'Status: Disk read Ok!',0
  7338. SearchIDText:
  7339.     dc.b    'Status: Searching file ID',0
  7340. FoundIDText:
  7341.     dc.b    'Found file ID: %s , original length: %08ld , packed length: %08ld',0
  7342. FoundIDTextZero:
  7343.     dc.b    'Found file ID: %s , original length: %08ld , packed length: unknown',0
  7344. FileInMem:
  7345.     dc.b    'File start at: $%08lx - $%08lx',0
  7346. BufferInMem:
  7347.     dc.b    'Buffer at:     $%08lx - $%08lx',0
  7348. ContinueSearch:
  7349.     dc.b    'Continue searching',0
  7350. NothingFound:
  7351.     dc.b    'File ID not found',0
  7352. AbortSearch:
  7353.     dc.b    'Aborted',0
  7354. PP20CalcText:
  7355.     dc.b    'Found file ID: %s , packer efficiency: %s',0
  7356. PP20Calc2Text:
  7357.     dc.b    'Searching next ID and calculating PP20 file length',0
  7358. Trace:
  7359.     dc.b    'Tracing... please wait',0
  7360. ErrorLoadPrefsText:
  7361.     dc.b    "Can't open 's:Track2File.prefs'",0
  7362. StatusText:
  7363.     dc.b    'Status: %s',0
  7364. ErrorAllocBufInfo:
  7365.     dc.b    'Status: Unable allocate memory for decrunched file',0
  7366. Decrunching:
  7367.     dc.b    'Status: Decrunching file',0
  7368. Header:
  7369.     dc.b    'Status',0
  7370. PrefsName:
  7371.     dc.b    'S:Track2File.prefs',0
  7372. SavePrefsText:
  7373.     dc.b    'Status: Preferences saved',0
  7374. ErrorSavePrefsText:
  7375.     dc.b    'Status: Error saving preferences',0
  7376. DiskNotL:
  7377.     dc.b    'Status: Disk not loaded',0
  7378. ErrorOpenPrefs:
  7379.     dc.b    'Status: Unable to open window prefs',0
  7380. BufferEmptyText:
  7381.     dc.b    'Status: Buffer is empty',0
  7382. FileNotSelectedText:
  7383.     dc.b    'Status: No file selected',0
  7384. ErrorAllocMemoryText:
  7385.     dc.b    'Status: Not enough memory',0
  7386. NoFi:
  7387.     dc.b    'Status: File not loaded - length is zero',0
  7388. ErrorDevice
  7389.     dc.b    'Status: Drive not detected',0
  7390. ErrorReadTrackText:
  7391.     dc.b    'Unable disk read - trackdisk error nr %ld',0
  7392. ErrorNoDiskText:
  7393.     dc.b    'Status: No disk in drive',0
  7394. ConvertText
  7395.     dc.b    'Converting buffer to "%s" format',0
  7396. ConvertOK
  7397.     dc.b    'Buffer converted',0
  7398. OceanText
  7399.     dc.b    'Converted %ld files, corrupted %ld files',0
  7400.  
  7401.  
  7402. ;FileL:
  7403. ;    dc.l    FullNameL
  7404. ;LoadingFile:
  7405. ;    dc.b    'Loading file "',$b6,$32,'%1.52s',$b6,$31,'"',3,0
  7406. ;BufferSize:
  7407. ;    dc.b    'Buffer size: ',$b6,$32,'%ld',$b6,$31,' bytes',3,0
  7408. ;LoadOk:
  7409. ;    dc.b    'Status: ',$b6,$32,'load Ok!',$b6,$31,3,0
  7410. ;    CNOP 0,2
  7411. ;FileS:
  7412. ;    dc.l    FullNameS
  7413. ;SavingFile:
  7414. ;    dc.b    'Saving file "',$b6,$32,'%1.53s',$b6,$31,'"',3,0
  7415. ;SaveOk:
  7416. ;    dc.b    'Status: ',$b6,$32,'save Ok!',$b6,$31,3,0
  7417. ;ReadDiskText:
  7418. ;    dc.b    'Disk reading in drive ',$b6,$32,'%s',$b6,$31,3,0
  7419. ;ReadDiskEndText:
  7420. ;    dc.b    'Status: ',$b6,$32,'Disk read Ok!',$b6,$31,3,0
  7421. ;SearchIDText:
  7422. ;    dc.b    'Status: ',$b6,$32,'Searching file ID',$b6,$31,3,0
  7423. ;FoundIDText:
  7424. ;    dc.b    'Found file ID: ',$b6,$32,'%s',$b6,$31,' , original length: ',$b6,$32,'%08ld',$b6,$31,3,0,' , packed length: ',3,0,$b6,$33,'%08ld',$b6,$31,3,0
  7425. ;FoundIDTextZero:
  7426. ;    dc.b    'Found file ID: ',$b6,$32,'%s',$b6,$31,' , original length: ',$b6,$32,'%08ld',$b6,$31,' , packed length: ',$b6,$33,'unknown',$b6,$31,3,0
  7427. ;FileInMem:
  7428. ;    dc.b    'File start at: ',$b6,$32,'$%08lx',$b6,$31,' - ',$b6,$32,'$%08lx',$b6,$31,3,0
  7429. ;BufferInMem:
  7430. ;    dc.b    'Buffer at:     ',$b6,$32,'$%08lx',$b6,$31,' - ',$b6,$32,'$%08lx',$b6,$31,3,0
  7431. ;ContinueSearch:
  7432. ;    dc.b    'Continue searching',0
  7433. ;NothingFound:
  7434. ;    dc.b    $b6,$32,'File ID not found',$b6,$31,3,0
  7435. ;AbortSearch:
  7436. ;    dc.b    $b6,$32,'Aborted',$b6,$31,3,0
  7437. ;PP20CalcText:
  7438. ;    dc.b    'Found file ID: ',$b6,$33,'PP20',$b6,$31,3,0
  7439. ;PP20Calc2Text:
  7440. ;    dc.b    'Searching next ID and calculating PP20 file length',0
  7441. ;Trace:
  7442. ;    dc.b    'Tracing... please wait',0
  7443. ;ErrorLoadPrefsText:
  7444. ;    dc.b    $b6,$32,"Can't open 's:Track2File.prefs'",$b6,$31,3,0
  7445. ;StatusText:
  7446. ;    dc.b    'Status: ',$b6,$32,'%s',$b6,$31,3,0
  7447. ;ErrorAllocBufInfo:
  7448. ;    dc.b    'Status: ',$b6,$32,'Unable allocate memory for decrunched file',$b6,$31,3,0
  7449. ;Decrunching:
  7450. ;    dc.b    'Status: ',$b6,$32,'Decrunching file',$b6,$31,3,0
  7451. ;Header:
  7452. ;    dc.b    'Status',0
  7453. ;PrefsName:
  7454. ;    dc.b    'S:Track2File.prefs',0
  7455. ;SavePrefsText:
  7456. ;    dc.b    'Status: ',$b6,$32,'Preferences saved',$b6,$31,3,0
  7457. ;ErrorSavePrefsText:
  7458. ;    dc.b    'Status: ',$b6,$32,'Error saving preferences',$b6,$31,3,0
  7459. ;DiskNotL:
  7460. ;    dc.b    'Status: ',$b6,$32,'Disk not loaded',$b6,$31,3,0
  7461. ;ErrorOpenPrefs:
  7462. ;    dc.b    'Status: ',$b6,$32,'Unable to open window prefs',$b6,$31,3,0
  7463. ;BufferEmptyText:
  7464. ;    dc.b    'Status: ',$b6,$32,'Buffer is empty',$b6,$31,3,0
  7465. ;FileNotSelectedText:
  7466. ;    dc.b    'Status: ',$b6,$32,'No file selected',$b6,$31,3,0
  7467. ;ErrorAllocMemoryText:
  7468. ;    dc.b    'Status: ',$b6,$32,'Not enough memory',$b6,$31,3,0
  7469. ;NoFi:
  7470. ;    dc.b    'Status: ',$b6,$32,'File not loaded - length is zero',$b6,$31,3,0
  7471. ;ErrorDevice
  7472. ;    dc.b    'Status: ',$b6,$32,'Drive not detected',$b6,$31,3,0
  7473. ;ErrorReadTrackText:
  7474. ;    dc.b    $b6,$32,'Unable disk read - trackdisk error nr %ld',$b6,$31,3,0
  7475. ;ErrorNoDiskText:
  7476. ;    dc.b    'Status: ',$b6,$32,'No disk in drive',$b6,$31,3,0
  7477.  
  7478.  
  7479.     CNOP 0,2
  7480.  
  7481. ***************************************************************************
  7482.  
  7483. ReadDisk:
  7484.     bsr.w    WaitPointer
  7485.     bsr.b    ReadTr
  7486.  
  7487.     tst.l    DiskVar(a5)
  7488.     beq.b    NotConvert
  7489.  
  7490.     tst.l    FormatNum(a5)
  7491.     beq.b    NotConvert
  7492.  
  7493.     bsr.w    Converter
  7494.  
  7495. NotConvert
  7496.  
  7497.     bsr.w    WorkPointer
  7498.  
  7499.     bra.w    Main
  7500.  
  7501. ReadTr:
  7502.     move.l    DriveNum(a5),d0
  7503.     add.w    d0,d0
  7504.     add.w    d0,d0
  7505.     lea    CycleLabels(pc),a1
  7506.     add.l    d0,a1
  7507.  
  7508.     lea    ReadDiskText(pc),a0
  7509.     bsr.w    Printf
  7510.  
  7511.     bsr.w    FreeMemory
  7512.  
  7513.     clr.l    DiskVar(a5)
  7514.  
  7515.     move.l    #1760*512,d0
  7516.     bsr.w    AllocMemory
  7517.     tst.l    d0
  7518.     beq.w    ErrorAllocMemory
  7519.  
  7520.     move.l    d0,a0            ;a0 = disk bufor
  7521.     bsr.w    ReadTrack
  7522.     tst.l    d0
  7523.     bne.w    Err
  7524.     tst.b    31(a1)            ;jezeli <>0 to error
  7525.     bne.w    ErrorReadTrack
  7526.  
  7527.     lea    ReadDiskEndText(pc),a0
  7528.     bsr.w    PrintStatus
  7529.  
  7530.     move.l    #1,DiskVar(a5)
  7531.  
  7532.     bsr.w    MotorOff
  7533.     rts
  7534.  
  7535. ***************************************************************************
  7536.  
  7537. ReadTrack:
  7538.     movem.l    a0,-(a7)
  7539.  
  7540.     move.l    Exec.w,a6
  7541.  
  7542.     lea    DiskIO(pc),a1
  7543.     lea    DiskRep(pc),a0
  7544.     move.l    a0,14(a1)
  7545.     move.l    DriveNum(a5),d0            ; numer napedu
  7546.     moveq    #0,d1
  7547.     lea    TrackName(pc),a0
  7548.     jsr    OpenDevice(a6)
  7549.     tst.l    d0
  7550.     bne.b    ErrorOpenDevice
  7551.  
  7552.     movem.l    (a7)+,a0
  7553.  
  7554.     lea    DiskIO(pc),a1
  7555.     move.w    #2,28(a1)
  7556.     move.l    a0,40(a1)
  7557.     move.l    #1760*512,36(a1)
  7558.     move.l    #0*512,44(a1)
  7559.     move.l    Exec.w,a6
  7560.     jsr    DoIO(a6)
  7561.  
  7562.     moveq    #0,d0
  7563.     rts
  7564.  
  7565. ErrorOpenDevice
  7566.     addq.l    #4,a7
  7567.     lea    ErrorDevice(pc),a0
  7568.     bsr.w    PrintStatus
  7569.     moveq    #-1,d0
  7570.     rts
  7571.  
  7572. ErrorReadTrack:
  7573.     cmpi.b  #29,31(a1)
  7574.     beq.b    NoDisk
  7575.     clr.l    d0
  7576.     move.b    31(a1),d0
  7577.     move.l    d0,ErrorTrack(a5)
  7578.  
  7579.     lea    ErrorReadTrackText(pc),a0
  7580.     lea    ErrorTrack(a5),a1
  7581.     bsr.w    Printf
  7582.  
  7583.     bsr.b    MotorOff
  7584. Err:
  7585.     bsr.w    FreeMemory
  7586.     rts
  7587.  
  7588. NoDisk:
  7589.     lea    ErrorNoDiskText(pc),a0
  7590.     bsr.w    PrintStatus
  7591.  
  7592.     bra.b    Err
  7593.  
  7594. ***************************************************************************
  7595.  
  7596. MotorOff:
  7597.     lea    DiskIO(pc),a1
  7598.     move.w    #9,28(a1)
  7599.     clr.l    36(a1)
  7600.     move.l    Exec.w,a6
  7601.     jsr    DoIO(a6)
  7602.  
  7603.     lea    DiskIO(pc),a1
  7604.     jsr    CloseDevice(a6)
  7605.  
  7606.     rts
  7607.  
  7608. ***************************************************************************
  7609.  
  7610. Converter
  7611.     movem.l    d0-a6,-(a7)
  7612.  
  7613.     cmp.l    #1,FormatNum(a5)
  7614.     beq.b    Graftgold
  7615.  
  7616.     cmp.l    #2,FormatNum(a5)
  7617.     beq.w    TenOfYlewen
  7618.  
  7619.     cmp.l    #3,FormatNum(a5)
  7620.     beq.w    PseudoOFS
  7621.  
  7622.     cmp.l    #4,FormatNum(a5)
  7623.     beq.w    Ocean
  7624.  
  7625.     cmp.l    #5,FormatNum(a5)
  7626.     beq.w    Robocop
  7627.  
  7628.     cmp.l    #6,FormatNum(a5)
  7629.     beq.w    DigitalDisco
  7630.  
  7631.     movem.l    (a7)+,d0-a6
  7632.     rts
  7633.  
  7634. Graftgold
  7635.     lea    ConvertText(pc),a0
  7636.     lea    CycleLabelsE+4(pc),a1
  7637.     bsr.w    Printf
  7638.  
  7639.     move.l    AllocStart(a5),a0
  7640.     move.l    a0,a1
  7641.     add.l    #901120+1024,a1
  7642.  
  7643.     move.w    #440-1,d0
  7644. c10
  7645.     moveq    #(1024/16)-1,d1
  7646.     lea    -2048(a1),a1
  7647. c11
  7648.     movem.l    (a0)+,d2-d5
  7649.     movem.l    (a1)+,a2-a5
  7650.     movem.l    d2-d5,-(a1)
  7651.     movem.l    a2-a5,-(a0)
  7652.     lea    16(a0),a0
  7653.     lea    16(a1),a1
  7654.     dbf    d1,c11
  7655.     dbf    d0,c10
  7656.  
  7657.     movem.l    (a7)+,d0-a6
  7658.  
  7659.     lea    ConvertOK(pc),a0
  7660.     bsr.w    PrintStatus
  7661.  
  7662.     rts
  7663.  
  7664. TenOfYlewen
  7665.     lea    ConvertText(pc),a0
  7666.     lea    CycleLabelsE+8(pc),a1
  7667.     bsr.w    Printf
  7668.  
  7669.     move.l    AllocStart(a5),a0
  7670.     move.l    a0,a1
  7671.  
  7672.     move.w    #160-1,d0
  7673. c20
  7674.     move.w    #(5120/16)-1,d1
  7675. c21
  7676.     movem.l    (a0)+,d2-d5
  7677.     movem.l    (a1)+,a2-a5
  7678.     movem.l    d2-d5,-(a1)
  7679.     movem.l    a2-a5,-(a0)
  7680.     lea    16(a0),a0
  7681.     lea    16(a1),a1
  7682.     dbf    d1,c21
  7683.  
  7684.     lea    512(a0),a0
  7685.     dbf    d0,c20
  7686.  
  7687.     move.w    #((160*512)/4)-1,d1
  7688. c22
  7689.     clr.l    -(a0)
  7690.     dbf    d1,c22
  7691.  
  7692.     movem.l    (a7)+,d0-a6
  7693.  
  7694.     lea    ConvertOK(pc),a0
  7695.     bsr.w    PrintStatus
  7696.  
  7697.     rts
  7698.  
  7699. PseudoOFS
  7700.     lea    ConvertText(pc),a0
  7701.     lea    CycleLabelsE+12(pc),a1
  7702.     bsr.w    Printf
  7703.  
  7704.     move.l    AllocStart(a5),a0
  7705.     move.l    a0,a1
  7706.  
  7707.     move.w    #1760-1,d0
  7708. c30
  7709.     moveq    #(24/4)-1,d1
  7710. c31
  7711.     clr.l    (a0)+
  7712.     dbf    d1,c31
  7713.  
  7714.     moveq    #(488/4)-1,d1
  7715. c32
  7716.     move.l    (a0),(a1)+
  7717.     clr.l    (a0)+
  7718.     dbf    d1,c32
  7719.  
  7720.     dbf    d0,c30
  7721.  
  7722.     movem.l    (a7)+,d0-a6
  7723.  
  7724.     lea    ConvertOK(pc),a0
  7725.     bsr.w    PrintStatus
  7726.  
  7727.     rts
  7728.  
  7729. Ocean
  7730.     lea    ConvertText(pc),a0
  7731.     lea    CycleLabelsE+16(pc),a1
  7732.     bsr.w    Printf
  7733.  
  7734.     move.l    AllocStart(a5),a0
  7735.     move.l    a0,a1
  7736.  
  7737.     add.l    #901120,a1
  7738.     moveq    #0,d2
  7739.     moveq    #0,d3
  7740. OceanLoop
  7741.     moveq    #0,d0
  7742.     moveq    #0,d1
  7743.     moveq    #0,d7
  7744.  
  7745.     move.b    (a0),d0
  7746.     eor.b    #'R',d0
  7747.     subq.b    #1,d0
  7748.     move.b    1(a0),d1
  7749.     eor.b    d0,d1
  7750.  
  7751.     cmp.b    #'N',d1
  7752.     bne.b    c42
  7753.  
  7754.     subq.b    #1,d0
  7755.     move.b    2(a0),d1
  7756.     eor.b    d0,d1
  7757.  
  7758.     cmp.b    #'C',d1
  7759.     bne.b    c42
  7760.  
  7761.     subq.b    #1,d0
  7762.     move.b    3(a0),d1
  7763.     eor.b    d0,d1
  7764.  
  7765.     cmp.b    #1,d1
  7766.     bne.b    c42
  7767.  
  7768.     subq.b    #1,d0
  7769.     move.b    4(a0),d1
  7770.     eor.b    d0,d1
  7771.  
  7772.     tst.b    d1
  7773.     bne.b    c42
  7774.  
  7775.     subq.b    #4,d0
  7776.     move.b    8(a0),d1
  7777.     eor.b    d0,d1
  7778.  
  7779.     tst.b    d1
  7780.     bne.b    c42
  7781.  
  7782.     subq.b    #1,d0
  7783.     move.b    9(a0),d1
  7784.     eor.b    d0,d1
  7785.  
  7786.     move.b    d1,d7
  7787.     rol.l    #8,d7
  7788.  
  7789.     subq.b    #1,d0
  7790.     move.b    10(a0),d1
  7791.     eor.b    d0,d1
  7792.  
  7793.     move.b    d1,d7
  7794.     rol.l    #8,d7
  7795.  
  7796.     subq.b    #1,d0
  7797.     move.b    11(a0),d1
  7798.     eor.b    d0,d1
  7799.  
  7800.     move.b    d1,d7
  7801.     add.l    #$12,d7
  7802.  
  7803.     btst.l    #0,d7
  7804.     beq.b    Bit0
  7805.     addq.l    #1,d7
  7806. Bit0
  7807.     bsr.w    Decode
  7808.  
  7809. c42
  7810.     cmp.l    a0,a1
  7811.     bls.b    OceanEnd
  7812.  
  7813.     addq.l    #1,a0
  7814.     bra.w    OceanLoop
  7815.  
  7816. OceanEnd
  7817.     move.l    d2,OceanOk
  7818.     move.l    d3,OceanFault
  7819.  
  7820.     movem.l    (a7)+,d0-a6
  7821.  
  7822.     lea    OceanText(pc),a0
  7823.     lea    OceanOk(pc),a1
  7824.     bsr.w    Printf
  7825.  
  7826.     rts
  7827.  
  7828. OceanOk
  7829.     dc.l    0
  7830. OceanFault
  7831.     dc.l    0
  7832.  
  7833. Decode
  7834.     moveq    #0,d0
  7835.     moveq    #0,d1
  7836. c40
  7837.     move.b    (a0),d1
  7838.     eor.b    d7,d1
  7839.     eor.b    d1,d0
  7840.     ror.l    #1,d0
  7841.     move.b    d1,(a0)+
  7842.     subq.l    #1,d7
  7843.     bne.b    c40
  7844.     tst.l    (a0)
  7845.     beq.b    c41
  7846.     cmp.l    (a0),d0
  7847.     bne.b    c41
  7848.  
  7849.     addq.l    #3,a0
  7850.     addq.l    #1,d2
  7851.  
  7852.     rts
  7853. c41
  7854.     addq.l    #3,a0
  7855.     addq.l    #1,d3
  7856.  
  7857.     rts
  7858.  
  7859. Robocop
  7860.     lea    ConvertText(pc),a0
  7861.     lea    CycleLabelsE+20(pc),a1
  7862.     bsr.w    Printf
  7863.  
  7864.     move.l    AllocStart(a5),a0
  7865.     move.l    a0,a1
  7866.  
  7867.     move.w    #80-1,d0
  7868. c50
  7869.     move.w    #($1850/16)-1,d1
  7870. c51
  7871.     move.l    (a0)+,(a1)+
  7872.     move.l    (a0)+,(a1)+
  7873.     move.l    (a0)+,(a1)+
  7874.     move.l    (a0)+,(a1)+
  7875.  
  7876.     dbf    d1,c51
  7877.  
  7878.     lea    $13B0(a0),a0
  7879.     dbf    d0,c50
  7880.  
  7881.     move.w    #((80*$13B0)/16)-1,d1
  7882. c52
  7883.     clr.l    (a1)+
  7884.     clr.l    (a1)+
  7885.     clr.l    (a1)+
  7886.     clr.l    (a1)+
  7887.     dbf    d1,c52
  7888.  
  7889.     movem.l    (a7)+,d0-a6
  7890.  
  7891.     lea    ConvertOK(pc),a0
  7892.     bsr.w    PrintStatus
  7893.  
  7894.     rts
  7895.  
  7896. DigitalDisco
  7897.     lea    ConvertText(pc),a0
  7898.     lea    CycleLabelsE+24(pc),a1
  7899.     bsr.w    Printf
  7900.  
  7901.     move.l    AllocStart(a5),a0
  7902.     move.l    a0,a1
  7903.  
  7904.     add.l    #901120,a1
  7905. .loop
  7906.     move.l    (A0)+,D0
  7907.     not.l    D0
  7908.     cmp.l    #'M.K.',D0
  7909.     beq.b    .ok
  7910.     cmp.l    A0,A1
  7911.     bne.b    .loop
  7912.     bra.b    .end
  7913. .ok
  7914.     lea    -$438+4(A0),A0
  7915.     move.l    #$186A0,D0
  7916. .loop2
  7917.     not.l    (A0)+
  7918.     cmp.l    A0,A1
  7919.     beq.b    .end
  7920.     subq.l    #1,D0
  7921.     bne.b    .loop2
  7922.     bra.b    .loop
  7923. .end
  7924.     movem.l    (a7)+,d0-a6
  7925.  
  7926.     lea    ConvertOK(pc),a0
  7927.     bsr.w    PrintStatus
  7928.  
  7929.     rts
  7930.  
  7931. ***************************************************************************
  7932.  
  7933. AllocMemory:
  7934.     move.l    d0,AllocLength(a5)
  7935.     move.l    d0,AllocEnd(a5)
  7936.  
  7937.     move.l    #$10001,d1    ;Public i Clear
  7938.     move.l    Exec.w,a6
  7939.     jsr    AllocMem(a6)
  7940.  
  7941.     tst.l    d0
  7942.     beq.b    Error
  7943.  
  7944.     move.l    d0,AllocStart(a5)
  7945.     add.l    d0,AllocEnd(a5)
  7946. Error:
  7947.     rts
  7948.  
  7949. ***************************************************************************
  7950.  
  7951. FreeMemory:
  7952.     tst.l    AllocStart(a5)
  7953.     beq.b    NoAlloc
  7954.  
  7955.     move.l    AllocStart(a5),a1
  7956.     move.l    AllocLength(a5),d0
  7957.     move.l    Exec.w,a6
  7958.     jsr    FreeMem(a6)
  7959.  
  7960.     clr.l    AllocStart(a5)
  7961. NoAlloc:
  7962.     rts
  7963.  
  7964. ***************************************************************************
  7965.  
  7966. WaitPointer:
  7967.     movem.l    d0-a6,-(a7)
  7968.  
  7969.     move.l    ReqBase(a5),a6
  7970.     move.l    Windows(a5),a0
  7971.     jsr    rtSetWaitPointer(a6)
  7972.  
  7973.     movem.l    (a7)+,d0-a6
  7974.     rts
  7975.  
  7976. WorkPointer:
  7977.     movem.l    d0-a6,-(a7)
  7978.  
  7979.     move.l    IntBase(a5),a6
  7980.     move.l    Windows(a5),a0
  7981.     jsr    ClearPointer(a6)
  7982.  
  7983.     movem.l    (a7)+,d0-a6
  7984.     rts
  7985.  
  7986. ***************************************************************************
  7987.  
  7988. Pen:
  7989.     movem.l    d0-a6,-(a7)
  7990.  
  7991.     move.l    Windows(a5),a1
  7992.     move.l    WindowRastPort(a1),a1
  7993.     move.l    GrfxBase(a5),a6
  7994.     jsr    SetAPen(a6)
  7995.  
  7996.     movem.l    (a7)+,d0-a6
  7997.     rts
  7998.  
  7999. ***************************************************************************
  8000.  
  8001. Printf:
  8002.     movem.l    d0-a6,-(a7)
  8003.  
  8004. ;    lea    PutChData(pc),a3
  8005. ;    moveq    #99,d0
  8006. ;Clears
  8007. ;    clr.b    (a3)+
  8008. ;    dbf    d0,Clears
  8009.  
  8010.     bsr.b    RawDoFormat
  8011.  
  8012.     lea    PutChData(pc),a0
  8013.     bsr.w    PrintStatus
  8014.  
  8015.     movem.l    (a7)+,d0-a6
  8016.     rts
  8017.  
  8018. RawDoFormat:
  8019.     movem.l    d0-a6,-(a7)
  8020.  
  8021.     lea    PutChProc(pc),a2
  8022.     lea    PutChData(pc),a3
  8023.     move.l    Exec.w,a6
  8024.     jsr    RawDoFmt(a6)
  8025.  
  8026.     movem.l    (a7)+,d0-a6
  8027.     rts
  8028.  
  8029. PutChProc:
  8030.     move.b    d0,(a3)+
  8031.     rts
  8032.  
  8033. ***************************************************************************
  8034.  
  8035. ;Print:
  8036. ;    movem.l    d0-a6,-(a7)
  8037.  
  8038. ;    move.l    a0,-(sp)
  8039.  
  8040. ;    move.l    Windows(a5),a1
  8041. ;    move.l    WindowRastPort(a1),a1
  8042. ;    move.l    GrfxBase(a5),a6
  8043. ;    jsr    Move(a6)
  8044.  
  8045. ;    move.l    (sp)+,a0
  8046. ;    move.l    a0,a1
  8047. ;Add:
  8048. ;    tst.b    (a1)+
  8049. ;    bne.b    Add
  8050. ;    subq.l    #1,a1
  8051. ;    sub.l    a0,a1
  8052. ;    move.l    a1,d0
  8053. ;    move.l    Windows(a5),a1
  8054. ;    move.l    WindowRastPort(a1),a1
  8055. ;    jsr    Text(a6)
  8056.  
  8057. ;    movem.l    (a7)+,d0-a6
  8058. ;    rts
  8059.  
  8060. ***************************************************************************
  8061.  
  8062. ;PrintStatus:
  8063. ;    movem.l    d0-a6,-(a7)
  8064.  
  8065. ;    move.l    a0,-(sp)
  8066.  
  8067. ;    bsr.b    Scroll
  8068.  
  8069. ;    move.l    (sp)+,a0
  8070. ;    cmpi.b    #1,(a0)
  8071. ;    beq.b    NewColor
  8072. ;    cmpi.b    #3,(a0)
  8073. ;    bne.b    NoNew
  8074. ;NewColor:
  8075. ;    moveq    #0,d0
  8076. ;    move.b    (a0)+,d0
  8077. ;    move.l    a0,-(sp)
  8078. ;    bra.b    Color
  8079. ;NoNew:
  8080. ;    move.l    a0,-(sp)
  8081. ;    moveq    #2,d0
  8082. ;Color:
  8083. ;    bsr.w    Pen
  8084.  
  8085. ;    move.l    (sp)+,a0
  8086. ;    moveq    #24,d0
  8087. ;    moveq    #79,d1
  8088. ;    add.l    Scrl(a5),d1
  8089.  
  8090. ;    bsr.b    Print
  8091.  
  8092. ;    movem.l    (a7)+,d0-a6
  8093. ;    rts
  8094.  
  8095. ***************************************************************************
  8096.  
  8097. ;Scroll:
  8098. ;    movem.l    d0-a6,-(a7)
  8099.  
  8100. ;IlLin:
  8101. ;    cmpi.l    #17*9,Scrl(a5)
  8102. ;    bne.b    DownLine
  8103.  
  8104. ;    move.l    Windows(a5),a1
  8105. ;    move.l    WindowRastPort(a1),a1
  8106. ;    moveq    #0,d0
  8107. ;    moveq    #9,d1
  8108. ;    moveq    #16,d2
  8109. ;    moveq    #81,d3
  8110. ;    move.l    #621,d4
  8111. ;Scro:    move.l    #233,d5
  8112. ;    move.l    GrfxBase(a5),a6
  8113. ;    jsr    ScrollRaster(a6)
  8114.  
  8115. ;    movem.l    (a7)+,d0-a6
  8116. ;    rts
  8117.  
  8118. ;DownLine:
  8119. ;    add.l    #9,Scrl(a5)
  8120.  
  8121. ;    movem.l    (a7)+,d0-a6
  8122. ;    rts
  8123.  
  8124. ***************************************************************************
  8125.  
  8126. Box:
  8127.     movem.l    d0-a6,-(a7)
  8128.  
  8129.     move.l    Windows(a5),a0
  8130.     move.l    WindowRastPort(a0),a0
  8131.     moveq    #11,d0
  8132.     moveq    #20,d1
  8133.     move.l    #618,d2
  8134.     moveq    #46,d3
  8135.     lea    BevelTag(pc),a1
  8136.     move.l    GadBase(a5),a6
  8137.     jsr    DrawBevelBoxA(a6)
  8138.  
  8139.     move.l    Windows(a5),a0
  8140.     move.l    WindowRastPort(a0),a0
  8141.     moveq    #16,d0
  8142.     moveq    #23,d1
  8143.     move.l    #608,d2
  8144.     moveq    #40,d3
  8145.     lea    BevelTag2(pc),a1
  8146.     jsr    DrawBevelBoxA(a6)
  8147.  
  8148.     move.l    Windows(a5),a0
  8149.     move.l    WindowRastPort(a0),a0
  8150.     moveq    #11,d0
  8151.     moveq    #75,d1
  8152.     move.l    #618,d2
  8153. Box1:    move.l    #163,d3
  8154.     lea    BevelTag(pc),a1
  8155.     jsr    DrawBevelBoxA(a6)
  8156.  
  8157.     move.l    Windows(a5),a0
  8158.     move.l    WindowRastPort(a0),a0
  8159.     moveq    #13,d0
  8160.     moveq    #76,d1
  8161.     move.l    #614,d2
  8162. Box2:    move.l    #161,d3
  8163.     lea    BevelTag2(pc),a1
  8164.     jsr    DrawBevelBoxA(a6)
  8165.  
  8166.     movem.l    (a7)+,d0-a6
  8167.     rts
  8168.  
  8169. BevelTag:
  8170.     dc.l    GT_VisualInfo
  8171. Visual10:
  8172.     dc.l    0
  8173.     dc.l    GTBB_Recessed,1
  8174.     dc.l    0
  8175.  
  8176. BevelTag2:
  8177.     dc.l    GT_VisualInfo
  8178. Visual11:
  8179.     dc.l    0
  8180.     dc.l    0
  8181.  
  8182. ***************************************************************************
  8183.  
  8184. DosName:    dc.b    'dos.library',0
  8185. IntName:    dc.b    'intuition.library',0
  8186. GfxName:    dc.b    'graphics.library',0
  8187. GadName:    dc.b    'gadtools.library',0
  8188. ReqName:    dc.b    'reqtools.library',0
  8189. XfdName:    dc.b    'xfdmaster.library',0
  8190. TrackName:    dc.b    'trackdisk.device',0
  8191.  
  8192.     CNOP 0,2
  8193.  
  8194. Variables:    ds.l    65
  8195.  
  8196. Glist:        dc.l    0
  8197. Gadget1:    dcb.l    8,0
  8198. Gadget2:    dcb.l    8,0
  8199. Gadget3:    dcb.l    8,0
  8200. Gadget4:    dcb.l    8,0
  8201. Gadget5:    dcb.l    8,0
  8202. Gadget6:    dcb.l    8,0
  8203. Gadget7:    dcb.l    8,0
  8204.  
  8205. Glist2:        dc.l    0
  8206. GadgetPref1:    dcb.l    8,0
  8207. GadgetPref2:    dcb.l    8,0
  8208. GadgetPref3:    dcb.l    8,0
  8209. GadgetPref4:    dcb.l    8,0
  8210. GadgetPref5:    dcb.l    8,0
  8211. GadgetPref6:    dcb.l    8,0
  8212. GadgetPref7:    dcb.l    8,0
  8213. GadgetPref8:    dcb.l    8,0
  8214. GadgetPref9:    dcb.l    8,0
  8215. GadgetPrefA:    dcb.l    8,0
  8216. GadgetPrefB:    dcb.l    8,0
  8217. GadgetPrefC:    dcb.l    8,0
  8218. GadgetPrefD:    dcb.l    8,0
  8219. GadgetPrefE:    dcb.l    8,0
  8220. GadgetPrefF:    dcb.l    8,0
  8221.  
  8222.     CNOP 0,2
  8223.  
  8224. ***************************************************************************
  8225.  
  8226. TagsLoad:
  8227.         dc.l    RT_Window
  8228. WindowLoad:    dc.l    0
  8229.         dc.l    RT_ReqPos,REQPOS_CENTERWIN
  8230.         dc.l    RT_WaitPointer,1
  8231.         dc.l    RT_Underscore,'_'
  8232.         dc.l    RT_LockWindow,1
  8233.         dc.l    RTFI_Flags,FREQF_PATGAD!FREQF_MULTISELECT
  8234.         dc.l    RTFI_Height,248
  8235.         dc.l    RTFI_OkText,LoadFileG
  8236.         dc.l    0
  8237. FileReqNameLoad:
  8238.         dc.b    'Load file(s)',0
  8239. LoadFileG:
  8240.         dc.b    'L_oad',0
  8241.     CNOP 0,2
  8242.  
  8243. ***************************************************************************
  8244.  
  8245. TagsSave:
  8246.         dc.l    RT_Window
  8247. WindowSave:    dc.l    0
  8248.         dc.l    RT_ReqPos,REQPOS_CENTERWIN
  8249.         dc.l    RT_WaitPointer,1
  8250.         dc.l    RT_Underscore,'_'
  8251.         dc.l    RT_LockWindow,1
  8252.         dc.l    RTFI_Flags,FREQF_SAVE
  8253.         dc.l    RTFI_Height,248
  8254.         dc.l    RTFI_OkText,SaveFileG
  8255.         dc.l    0
  8256. FileReqNameSave:
  8257.         dc.b    'Save file',0
  8258. SaveFileG:
  8259.         dc.b    '_Save',0
  8260.     CNOP 0,2
  8261.  
  8262. ***************************************************************************
  8263.  
  8264. Comment:
  8265.     dc.b    'Track2File V1.22 by Mr.Larmer/WNT - ID: %s , Offset: $%08lx , Track: %04d',0
  8266.     CNOP 0,2
  8267.  
  8268. ***************************************************************************
  8269.  
  8270. WindowTags:
  8271.     dc.l    WA_Left,0
  8272.     dc.l    WA_Top,11
  8273.     dc.l    WA_Width,640
  8274.     dc.l    WA_Height
  8275. WinHei:    dc.l    245
  8276.     dc.l    WA_DetailPen,0
  8277.     dc.l    WA_BlockPen,1
  8278.     dc.l    WA_IDCMP,IDCMP_NEWSIZE!IDCMP_CLOSEWINDOW!IDCMP_GADGETUP!IDCMP_VANILLAKEY!IDCMP_MOUSEBUTTONS!LISTVIEWIDCMP
  8279.     dc.l    WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_ACTIVATE!WFLG_RMBTRAP!WFLG_CLOSEGADGET!WFLG_NOCAREREFRESH
  8280.     dc.l    WA_Gadgets,Gadget1
  8281.     dc.l    WA_Title,WindowTitle
  8282.     dc.l    WA_ScreenTitle,WindowTitle
  8283.     dc.l    WA_MinWidth,0
  8284.     dc.l    WA_MinHeight,0
  8285.     dc.l    WA_MaxWidth,0
  8286.     dc.l    WA_MaxHeight,0
  8287.     dc.l    WA_Zoom,Zoom
  8288.     dc.l    0
  8289.  
  8290. Zoom:
  8291.     dc.w    0,11,214,11
  8292. WindowTitle:
  8293.     dc.b    'Track2File V1.22 beta Â© 1995-97 by Mr.Larmer of Wanted Team',0
  8294.     CNOP 0,2
  8295.  
  8296. ***************************************************************************
  8297.  
  8298. WindowPrefTags:
  8299.     dc.l    WA_Left,120
  8300.     dc.l    WA_Top,60
  8301.     dc.l    WA_Width,400
  8302.     dc.l    WA_Height,185
  8303.     dc.l    WA_DetailPen,0
  8304.     dc.l    WA_BlockPen,1
  8305.     dc.l    WA_IDCMP,IDCMP_GADGETUP!IDCMP_VANILLAKEY!IDCMP_GADGETDOWN!LISTVIEWIDCMP
  8306.     dc.l    WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_ACTIVATE!WFLG_RMBTRAP!WFLG_NOCAREREFRESH
  8307.     dc.l    WA_Gadgets,GadgetPref1
  8308.     dc.l    WA_Title,WindowPrefTitle
  8309.     dc.l    WA_ScreenTitle,WindowTitle
  8310.     dc.l    WA_MinWidth,0
  8311.     dc.l    WA_MinHeight,0
  8312.     dc.l    WA_MaxWidth,0
  8313.     dc.l    WA_MaxHeight,0
  8314.     dc.l    0
  8315.  
  8316. WindowPrefTitle:
  8317.     dc.b    'Preferences',0
  8318.     CNOP 0,2
  8319.  
  8320. ***************************************************************************
  8321.  
  8322. Font:        dc.l    Font2
  8323.         dc.w    8
  8324.         dc.b    0,1
  8325. Font2:        dc.b    'topaz.font',0
  8326.     CNOP 0,2
  8327.  
  8328. ***************************************************************************
  8329.  
  8330. DiskReadGad:
  8331.         dc.w    GadLeftEdge+(GadWidth*0)+(GadNaStyk*0),GadTopEdge
  8332.         dc.w    GadWidth,GadHeight
  8333.         dc.l    DiskReadText
  8334.         dc.l    Font
  8335.         dc.w    1
  8336.         dc.l    PLACETEXT_IN
  8337. Visual1:    dc.l    0
  8338.         dc.l    0
  8339.  
  8340. TagListButton:
  8341.         dc.l    GT_Underscore,'_'
  8342.         dc.l    0
  8343.  
  8344. DiskReadText:    dc.b    'Disk _Read',0
  8345.     CNOP 0,2
  8346.  
  8347. ***************************************************************************
  8348.  
  8349. LoadFileGad:
  8350.         dc.w    GadLeftEdge+(GadWidth*1)+(GadNaStyk*1),GadTopEdge
  8351.         dc.w    GadWidth,GadHeight
  8352.         dc.l    LoadFileText
  8353.         dc.l    Font
  8354.         dc.w    2
  8355.         dc.l    PLACETEXT_IN
  8356. Visual2:    dc.l    0
  8357.         dc.l    0
  8358.  
  8359. LoadFileText:    dc.b    '_Load File',0
  8360.     CNOP 0,2
  8361.  
  8362. ***************************************************************************
  8363.  
  8364. SearchGad:
  8365.         dc.w    GadLeftEdge+(GadWidth*2)+(GadNaStyk*2),GadTopEdge
  8366.         dc.w    GadWidth,GadHeight
  8367.         dc.l    SearchText
  8368.         dc.l    Font
  8369.         dc.w    3
  8370.         dc.l    PLACETEXT_IN
  8371. Visual3:    dc.l    0
  8372.         dc.l    0
  8373.  
  8374. SearchText:    dc.b    '_Search',0
  8375.     CNOP 0,2
  8376.  
  8377. ***************************************************************************
  8378.  
  8379. PrefsGad:
  8380.         dc.w    GadLeftEdge+(GadWidth*3)+(GadNaStyk*3),GadTopEdge
  8381.         dc.w    GadWidth,GadHeight
  8382.         dc.l    PrefsText
  8383.         dc.l    Font
  8384.         dc.w    4
  8385.         dc.l    PLACETEXT_IN
  8386. Visual4:    dc.l    0
  8387.         dc.l    0
  8388.  
  8389. PrefsText:    dc.b    '_Prefs',0
  8390.     CNOP 0,2
  8391.  
  8392. ***************************************************************************
  8393.  
  8394. AboutsGad:
  8395.         dc.w    GadLeftEdge+(GadWidth*4)+(GadNaStyk*4),GadTopEdge
  8396.         dc.w    GadWidth,GadHeight
  8397.         dc.l    AboutsText
  8398.         dc.l    Font
  8399.         dc.w    5
  8400.         dc.l    PLACETEXT_IN
  8401. Visual5:    dc.l    0
  8402.         dc.l    0
  8403.  
  8404. AboutsText:    dc.b    '_About',0
  8405.     CNOP 0,2
  8406.  
  8407. ***************************************************************************
  8408.  
  8409. StatusGad:
  8410.         dc.w    17,78
  8411.         dc.w    610,163
  8412.         dc.l    StatusText2
  8413.         dc.l    Font
  8414.         dc.w    18
  8415.         dc.l    PLACETEXT_ABOVE!NG_HIGHLABEL
  8416. Visual20:    dc.l    0
  8417.         dc.l    0
  8418.  
  8419. TagListView2:
  8420.         dc.l    GTLV_Labels,ID_List2
  8421.         dc.l    GTLV_ReadOnly,1
  8422.         dc.l    GTLV_ScrollWidth,18
  8423.         dc.l    LAYOUTA_Spacing,1
  8424.         dc.l    GTLV_Top
  8425. Top2:        dc.l    0
  8426.         dc.l    0
  8427.  
  8428. StatusText2:    dc.b    0
  8429.     CNOP 0,2
  8430. ID_List2:
  8431. ;        dc.l    ID_Nodes0,0,ID_Nodes0,0
  8432.         dc.l    0,0,0,0
  8433.  
  8434. ;ID_Nodes0:
  8435. ;        dcb.b    50*14
  8436. ;ID_Names0:
  8437. ;        dcb.b    50*100
  8438.     CNOP 0,2
  8439.  
  8440. Licznik
  8441.     dc.l    0
  8442.  
  8443. PrintStatus
  8444.     movem.l    d0-a6,-(a7)
  8445.  
  8446.     move.l    a0,-(a7)
  8447.  
  8448. ;    bsr.w    SetFunc
  8449.  
  8450.     move.l    Windows(a5),a0
  8451.     move.l    GadBase(a5),a6
  8452.     jsr    GT_BeginRefresh(a6)
  8453.  
  8454.     move.l    Gadget7(pc),a0
  8455.     move.l    Windows(a5),a1
  8456.     sub.l    a2,a2
  8457.     lea    TagsListNil(pc),a3
  8458.     jsr    GT_SetGadgetAttrsA(a6)
  8459.  
  8460. ;    move.l    Windows(a5),a0
  8461. ;    move.l    GadBase(a5),a6
  8462. ;    jsr    GT_BeginRefresh(a6)
  8463.  
  8464.     cmp.l    #200,Licznik
  8465.     blt.b    NotTrans
  8466.  
  8467.     move.l    BufTextNames(A5),a0
  8468.     lea    100(a0),a1
  8469.     move.l    #(200-1)*100,d0
  8470. cop2
  8471.     move.b    (a1)+,(a0)+
  8472.     subq.l    #1,d0
  8473.     bne.b    cop2
  8474. NotTrans
  8475.     move.l    (a7)+,a0        ; tekst do skopiowania
  8476.     move.l    BufTextNames(A5),a1
  8477.     move.l    Licznik(pc),d0
  8478.     mulu.w    #100,d0
  8479.     add.l    d0,a1
  8480.     cmp.l    #200,Licznik
  8481.     blt.b    minus
  8482.     lea    -100(a1),a1
  8483. minus
  8484.     moveq    #98,d0
  8485. cop
  8486.     subq.l    #1,d0
  8487.     move.b    (a0)+,(a1)+
  8488.     bne.b    cop
  8489.  
  8490.     tst.l    d0
  8491.     bpl.    od
  8492.     moveq    #0,d0
  8493. od
  8494.     subq.l    #1,a1
  8495.  
  8496. ;    cmp.b    #3,(a1)
  8497. ;    bne.b    NotOne
  8498. Clears
  8499.     move.b    #' ',(a1)+
  8500.     dbf    d0,Clears
  8501. ;;    move.b    #$b6,(a1)+
  8502. ;;    move.b    #$31,(a1)+
  8503. ;    move.b    #3,(a1)+
  8504.     clr.b    (a1)
  8505. ;NotOne
  8506.  
  8507.     move.l    BufTextNodes(A5),a0
  8508.     move.l    BufTextNames(A5),a2
  8509.     lea    ID_List2(pc),a3
  8510.  
  8511.     tst.l    Licznik
  8512.     bne.b    SecondNodes
  8513.  
  8514.     move.l    a0,(a3)
  8515.     move.l    a0,8(a3)
  8516.  
  8517.     move.l    a3,(a0)        ;next node ptr
  8518.     addq.l    #4,(a0)+
  8519.     move.l    a3,(a0)+    ;first node ptr
  8520.     clr.w    (a0)+
  8521.     move.l    a2,(a0)+    ;text ptr
  8522.     bra.w    Compa
  8523.  
  8524. SecondNodes
  8525.     cmp.l    #1,Licznik
  8526.     bne.b    ThreeNodes
  8527.  
  8528.     move.l    Licznik(pc),d0
  8529.     subq.l    #1,d0
  8530.     move.l    d0,d1
  8531.     mulu.w    #14,d0
  8532.     add.l    d0,a0
  8533.     lea    14(a0),a1
  8534.     move.l    a1,(a0)+    ;next node ptr
  8535.     move.l    a3,(a0)+    ;prev node ptr
  8536.     clr.w    (a0)+
  8537.     mulu.w    #100,d1
  8538.     add.l    d1,a2
  8539.     move.l    a2,(a0)+    ;text ptr
  8540.  
  8541.     move.l    a0,8(a3)
  8542.  
  8543.     move.l    a3,(a0)        ;next node ptr
  8544.     addq.l    #4,(a0)+
  8545.     lea    -18(a0),a4
  8546.     move.l    a4,(a0)+    ;prev node ptr
  8547.     clr.w    (a0)+
  8548.     lea    100(a2),a2
  8549.     move.l    a2,(a0)+    ;text ptr
  8550.  
  8551.     bra.w    Compa
  8552.  
  8553. ThreeNodes
  8554.     cmp.l    #200,Licznik
  8555.     bge.b    Compa
  8556.  
  8557.     move.l    Licznik(pc),d0
  8558.     subq.l    #1,d0
  8559.     move.l    d0,d1
  8560.     mulu.w    #14,d0
  8561.     add.l    d0,a0
  8562.     lea    14(a0),a1
  8563.     move.l    a1,(a0)+    ;next node ptr
  8564.     lea    -18(a0),a4
  8565.     move.l    a4,(a0)+    ;prev node ptr
  8566.     clr.w    (a0)+
  8567.     mulu.w    #100,d1
  8568.     add.l    d1,a2
  8569.     move.l    a2,(a0)+    ;text ptr
  8570.  
  8571.     move.l    a0,8(a3)
  8572.  
  8573.     move.l    a3,(a0)        ;next node ptr
  8574.     addq.l    #4,(a0)+
  8575.     lea    -18(a0),a4
  8576.     move.l    a4,(a0)+    ;prev node ptr
  8577.     clr.w    (a0)+
  8578.     lea    100(a2),a2
  8579.     move.l    a2,(a0)+    ;text ptr
  8580.  
  8581. Compa
  8582.     cmp.l    #200,Licznik
  8583.     bge.b    Niedodaj
  8584.  
  8585. Dodaj
  8586.     addq.l    #1,Licznik
  8587. Niedodaj
  8588.  
  8589.     cmp.l    #17,Licznik
  8590.     bls.b    NotTop
  8591.     move.l    Licznik(pc),d0
  8592. Niedo
  8593.     sub.l    #17,d0
  8594.     move.l    d0,Top2
  8595. NotTop
  8596.     moveq    #1,d0
  8597.     move.l    Windows(a5),a0
  8598.     jsr    GT_EndRefresh(a6)
  8599.  
  8600.     move.l    Gadget7(pc),a0
  8601.     move.l    Windows(a5),a1
  8602.     sub.l    a2,a2
  8603.     lea    TagListView2(pc),a3
  8604.     jsr    GT_SetGadgetAttrsA(a6)
  8605.  
  8606. ;    moveq    #1,d0
  8607. ;    move.l    Windows(a5),a0
  8608. ;    jsr    GT_EndRefresh(a6)
  8609.  
  8610.     movem.l    (a7)+,d0-a6
  8611.  
  8612.     rts
  8613.  
  8614. ;SetFunc
  8615. ;    move.l    Exec.w,a6
  8616. ;    jsr    Forbid(a6)
  8617.  
  8618. ;    move.l    #Text,a0
  8619. ;    lea    NewFunc(pc),a1
  8620. ;    move.l    a1,d0
  8621. ;    move.l    GrfxBase(a5),a1
  8622. ;    jsr    SetFunction(a6)
  8623. ;    move.l    d0,OldFunc
  8624.  
  8625. ;    jsr    Permit(a6)
  8626.  
  8627. ;    rts
  8628.  
  8629. ;SetOldFunc
  8630. ;    move.l    Exec.w,a6
  8631. ;    jsr    Forbid(a6)
  8632.  
  8633. ;    move.l    #Text,a0
  8634. ;    move.l    OldFunc(pc),d0
  8635. ;    move.l    GrfxBase(a5),a1
  8636. ;    jsr    SetFunction(a6)
  8637.  
  8638. ;    jsr    Permit(a6)
  8639.  
  8640. ;    rts
  8641.  
  8642. NewFunc
  8643. ; Input
  8644. ; D0 = length
  8645. ; A0 = string
  8646. ; A1 = rastport
  8647.  
  8648. ;    movem.l    D0/A0-A1,-(SP)
  8649. ;    subq.l    #1,D0
  8650. ;    adda.l    D0,A0
  8651. ;    cmpi.b    #3,(A0)
  8652. ;    bne.s    lbC001092
  8653. ;    suba.l    D0,A0
  8654. ;lbC001088:
  8655. ;    cmpi.b    #$B6,(A0)+
  8656. ;    beq.s    lbC00109A
  8657. ;    dbra    D0,lbC001088
  8658. ;lbC001092:
  8659. ;    movem.l    (SP)+,D0/A0-A1
  8660. ;    bra.w    lbW001142
  8661.  
  8662. ;lbC00109A:
  8663. ;    cmpi.b    #$30,(A0)
  8664. ;    bcs.s    lbC001092
  8665. ;    cmpi.b    #$33,(A0)
  8666. ;    bhi.s    lbC001092
  8667. ;lbC0010A6:
  8668. ;    cmpi.b    #$B6,(A0)+
  8669. ;    beq.s    lbC0010B2
  8670. ;    dbra    D0,lbC0010A6
  8671. ;    bra.s    lbC001092
  8672.  
  8673. ;lbC0010B2:
  8674. ;    cmpi.b    #$30,(A0)
  8675. ;    bcs.s    lbC001092
  8676. ;    cmpi.b    #$33,(A0)
  8677. ;    bhi.s    lbC001092
  8678. ;    movem.l    (SP)+,D0/A0-A1
  8679. ;    movem.l    D0-D7/A0-A6,-(SP)
  8680. ;lbC0010C6:
  8681. ;    moveq    #0,D0
  8682. ;    tst.b    (A0)
  8683. ;    beq.w    lbC00113C
  8684. ;lbC0010CE:
  8685. ;    tst.b    (A0)
  8686. ;    beq.s    lbC001122
  8687. ;    cmpi.b    #$B6,(A0)
  8688. ;    beq.s    lbC0010DE
  8689. ;lbC0010D8:
  8690. ;    addq.w    #1,D0
  8691. ;    addq.w    #1,A0
  8692. ;    bra.s    lbC0010CE
  8693.  
  8694. ;lbC0010DE:
  8695. ;    cmpi.b    #$30,1(A0)
  8696. ;    bcs.s    lbC0010D8
  8697. ;    cmpi.b    #$33,1(A0)
  8698. ;    bhi.s    lbC0010D8
  8699. ;    move.b    1(A0),lbW00114C.L
  8700. ;    suba.l    D0,A0
  8701. ;    bsr.w    lbC00112E
  8702. ;    adda.l    D0,A0
  8703. ;    movem.l    D0-D7/A0-A6,-(SP)
  8704. ;    moveq    #0,D0
  8705. ;    move.b    lbW00114C.L,D0
  8706. ;    subi.b    #$30,D0
  8707. ;    movea.l    Variables+GrfxBase(pc),A6
  8708. ;    jsr    SetAPen(A6)        ; Set A Pen
  8709. ;    movem.l    (SP)+,D0-D7/A0-A6
  8710. ;    addq.l    #2,A0
  8711. ;    bra.w    lbC0010C6
  8712.  
  8713. ;lbC001122:
  8714. ;    suba.l    D0,A0
  8715. ;    subq.w    #1,D0
  8716. ;    bsr.w    lbC00112E
  8717. ;    bra.w    lbC00113C
  8718.  
  8719. ;lbC00112E:
  8720. ;    movem.l    D0/A0/A1,-(SP)
  8721. ;    bsr.w    lbW001142
  8722. ;    movem.l    (SP)+,D0/A0/A1
  8723. ;    rts
  8724.  
  8725. ;lbC00113C:
  8726. ;    movem.l    (SP)+,D0-D7/A0-A6
  8727. ;    rts
  8728.  
  8729. ;lbW00114C:
  8730. ;    dc.w    0
  8731. ;lbW001142
  8732. ;    dc.w    $4EF9
  8733. ;OldFunc
  8734. ;    dc.l    0
  8735.  
  8736. ***************************************************************************
  8737.  
  8738. CycleGad:
  8739.         dc.w    10,20
  8740.         dc.w    70,14
  8741.         dc.l    CycleText
  8742.         dc.l    Font
  8743.         dc.w    6
  8744.         dc.l    PLACETEXT_RIGHT!NG_HIGHLABEL
  8745. Visual6:    dc.l    0
  8746.         dc.l    0
  8747.  
  8748. TagListCycle:
  8749.         dc.l    GT_Underscore,'_'
  8750.         dc.l    GTCY_Labels,CycleLabels
  8751.         dc.l    GTCY_Active
  8752. DriveActive:    dc.l    0
  8753.         dc.l    0
  8754.  
  8755. CycleLabels:
  8756.         dc.l    Drives0
  8757.         dc.l    Drives1
  8758.         dc.l    Drives2
  8759.         dc.l    Drives3
  8760.         dc.l    0
  8761.  
  8762. Drives0:    dc.b    'DF0:',0
  8763. Drives1:    dc.b    'DF1:',0
  8764. Drives2:    dc.b    'DF2:',0
  8765. Drives3:    dc.b    'DF3:',0
  8766.  
  8767. CycleText:    dc.b    '_Drive to read',0
  8768.     CNOP 0,2
  8769.  
  8770. ***************************************************************************
  8771.  
  8772. CycleGadE:
  8773.         dc.w    10,40
  8774.         dc.w    136,14
  8775.         dc.l    CycleTextE
  8776.         dc.l    Font
  8777.         dc.w    18
  8778.         dc.l    PLACETEXT_RIGHT!NG_HIGHLABEL
  8779. Visual21:    dc.l    0
  8780.         dc.l    0
  8781.  
  8782. TagListCycleE
  8783.         dc.l    GT_Underscore,'_'
  8784.         dc.l    GTCY_Labels,CycleLabelsE
  8785.         dc.l    GTCY_Active
  8786. FormatActive    dc.l    0
  8787.         dc.l    0
  8788.  
  8789. CycleLabelsE
  8790.         dc.l    Format0
  8791.         dc.l    Format1
  8792.         dc.l    Format2
  8793.         dc.l    Format3
  8794.         dc.l    Format4
  8795.         dc.l    Format5
  8796.         dc.l    Format6
  8797.         dc.l    Format7
  8798.         dc.l    0
  8799.  
  8800. Format0:    dc.b    'Normal',0
  8801. Format1:    dc.b    'Graftgold',0
  8802. Format2:    dc.b    '10 of 11',0
  8803. Format3:    dc.b    'Pseudo OFS',0
  8804. Format4        dc.b    'Ocean',0
  8805. Format5        dc.b    'Robocop',0
  8806. Format6        dc.b    'Digital Disco',0
  8807. Format7        dc.b    'LOB decode',0
  8808.  
  8809. CycleTextE:    dc.b    'C_onverter',0
  8810.     CNOP 0,2
  8811.  
  8812. ***************************************************************************
  8813.  
  8814. ChBoxGad:
  8815.         dc.w    10,60
  8816.         dc.w    26,11
  8817.         dc.l    ChBoxText
  8818.         dc.l    Font
  8819.         dc.w    7
  8820.         dc.l    PLACETEXT_RIGHT!NG_HIGHLABEL
  8821. Visual7:    dc.l    0
  8822.         dc.l    0
  8823.  
  8824. TagListChBox:
  8825.         dc.l    GT_Underscore,'_'
  8826.         dc.l    GTCB_Checked
  8827. IncCheck:    dc.l    0
  8828.         dc.l    0
  8829.  
  8830. ChBoxText:    dc.b    '_Inc file name',0
  8831.     CNOP 0,2
  8832.  
  8833. ***************************************************************************
  8834.  
  8835. ChBoxGad2:
  8836.         dc.w    10,75
  8837.         dc.w    26,11
  8838.         dc.l    ChBoxText2
  8839.         dc.l    Font
  8840.         dc.w    8
  8841.         dc.l    PLACETEXT_RIGHT!NG_HIGHLABEL
  8842. Visual8:    dc.l    0
  8843.         dc.l    0
  8844.  
  8845. TagListChBox2:
  8846.         dc.l    GT_Underscore,'_'
  8847.         dc.l    GTCB_Checked
  8848. DecrCheck:    dc.l    0
  8849.         dc.l    0
  8850.  
  8851. ChBoxText2:    dc.b    'D_ecrunch before save',0
  8852.     CNOP 0,2
  8853.  
  8854. ***************************************************************************
  8855.  
  8856. ChBoxGad3:
  8857.         dc.w    10,90
  8858.         dc.w    26,11
  8859.         dc.l    ChBoxText3
  8860.         dc.l    Font
  8861.         dc.w    9
  8862.         dc.l    PLACETEXT_RIGHT!NG_HIGHLABEL
  8863. Visual9:    dc.l    0
  8864.         dc.l    0
  8865.  
  8866. TagListChBox3:
  8867.         dc.l    GT_Underscore,'_'
  8868.         dc.l    GTCB_Checked
  8869. SkipCheck:    dc.l    0
  8870.         dc.l    0
  8871.  
  8872. ChBoxText3:    dc.b    'S_kip file',0
  8873.     CNOP 0,2
  8874.  
  8875. ***************************************************************************
  8876.  
  8877. ChBoxGad4:
  8878.         dc.w    10,105
  8879.         dc.w    26,11
  8880.         dc.l    ChBoxText4
  8881.         dc.l    Font
  8882.         dc.w    14
  8883.         dc.l    PLACETEXT_RIGHT!NG_HIGHLABEL
  8884. Visual16:    dc.l    0
  8885.         dc.l    0
  8886.  
  8887. TagListChBox4:
  8888.         dc.l    GT_Underscore,'_'
  8889.         dc.l    GTCB_Checked
  8890. DeepCheck:    dc.l    0
  8891.         dc.l    0
  8892.  
  8893. ChBoxText4:    dc.b    'Dee_p search',0
  8894.     CNOP 0,2
  8895.  
  8896. ***************************************************************************
  8897.  
  8898. ChBoxGad5
  8899.         dc.w    10,120
  8900.         dc.w    26,11
  8901.         dc.l    ChBoxText5
  8902.         dc.l    Font
  8903.         dc.w    19
  8904.         dc.l    PLACETEXT_RIGHT!NG_HIGHLABEL
  8905. Visual22    dc.l    0
  8906.         dc.l    0
  8907.  
  8908. TagListChBox5
  8909.         dc.l    GT_Underscore,'_'
  8910.         dc.l    GTCB_Checked
  8911. RNCCheck    dc.l    0
  8912.         dc.l    0
  8913.  
  8914. ChBoxText5    dc.b    '_RNC old',0
  8915.     CNOP 0,2
  8916.  
  8917. ***************************************************************************
  8918.  
  8919. SaveGad:
  8920.         dc.w    ((400-(60*3)-(2*60))/2)+(60*0)+(60*0),160
  8921.         dc.w    60,14
  8922.         dc.l    SaveText
  8923.         dc.l    Font
  8924.         dc.w    10
  8925.         dc.l    PLACETEXT_IN
  8926. Visual12:    dc.l    0
  8927.         dc.l    0
  8928.  
  8929. SaveText:    dc.b    '_Save',0
  8930.     CNOP 0,2
  8931.  
  8932. ***************************************************************************
  8933.  
  8934. UseGad:
  8935.         dc.w    ((400-(60*3)-(2*60))/2)+(60*1)+(60*1),160
  8936.         dc.w    60,14
  8937.         dc.l    UseText
  8938.         dc.l    Font
  8939.         dc.w    11
  8940.         dc.l    PLACETEXT_IN
  8941. Visual13:    dc.l    0
  8942.         dc.l    0
  8943.  
  8944. UseText:    dc.b    '_Use',0
  8945.     CNOP 0,2
  8946.  
  8947. ***************************************************************************
  8948.  
  8949. CancelGad:
  8950.         dc.w    ((400-(60*3)-(2*60))/2)+(60*2)+(60*2),160
  8951.         dc.w    60,14
  8952.         dc.l    CancelText
  8953.         dc.l    Font
  8954.         dc.w    12
  8955.         dc.l    PLACETEXT_IN
  8956. Visual14:    dc.l    0
  8957.         dc.l    0
  8958.  
  8959. CancelText:    dc.b    '_Cancel',0
  8960.     CNOP 0,2
  8961.  
  8962. ***************************************************************************
  8963.  
  8964. InvertGad:
  8965.         dc.w    241,135
  8966.         dc.w    60,14
  8967.         dc.l    InvertText
  8968.         dc.l    Font
  8969.         dc.w    15
  8970.         dc.l    PLACETEXT_IN
  8971. Visual17:    dc.l    0
  8972.         dc.l    0
  8973.  
  8974. InvertText:    dc.b    'In_vert',0
  8975.     CNOP 0,2
  8976.  
  8977. ***************************************************************************
  8978.  
  8979. ClearGad:
  8980.         dc.w    311,135
  8981.         dc.w    60,14
  8982.         dc.l    ClearText
  8983.         dc.l    Font
  8984.         dc.w    16
  8985.         dc.l    PLACETEXT_IN
  8986. Visual18:    dc.l    0
  8987.         dc.l    0
  8988.  
  8989. ClearText:    dc.b    'C_lear',0
  8990.     CNOP 0,2
  8991.  
  8992. ***************************************************************************
  8993.  
  8994. ImageGad:
  8995.         dc.w    10,135
  8996.         dc.w    100,14
  8997.         dc.l    ImageText
  8998.         dc.l    Font
  8999.         dc.w    17
  9000.         dc.l    PLACETEXT_IN
  9001. Visual19:    dc.l    0
  9002.         dc.l    0
  9003.  
  9004. ImageText:    dc.b    'Save i_mage',0
  9005.     CNOP 0,2
  9006.  
  9007. ***************************************************************************
  9008.  
  9009. ListViewGad:
  9010.         dc.w    230,35
  9011.         dc.w    152,95
  9012.         dc.l    ListViewText
  9013.         dc.l    Font
  9014.         dc.w    13
  9015.         dc.l    PLACETEXT_ABOVE!NG_HIGHLABEL
  9016. Visual15:    dc.l    0
  9017.         dc.l    0
  9018.  
  9019. TagListView:
  9020.         dc.l    GTLV_Labels,ID_List
  9021.         dc.l    GTLV_Top
  9022. Top:        dc.l    0
  9023.         dc.l    0
  9024.  
  9025. ListViewText:    dc.b    'Enable/Disable IDs',0
  9026.     CNOP 0,2
  9027. ID_List:
  9028.         dc.l    ID_Node0,0,ID_Node120,0
  9029. ID_Node0:
  9030.         dc.l    ID_Node1
  9031.         dc.l    ID_List
  9032.         dc.b    0,0
  9033.         dc.l    ID_Name0
  9034. ID_Name0:
  9035.         dc.b    '   1 : CP       ',0
  9036.     CNOP 0,2
  9037. ID_Node1:
  9038.         dc.l    ID_Node2
  9039.         dc.l    ID_Node0
  9040.         dc.b    0,0
  9041.         dc.l    ID_Name1
  9042. ID_Name1:
  9043.         dc.b    '   2 : GP       ',0
  9044.     CNOP 0,2
  9045. ID_Node2:
  9046.         dc.l    ID_Node3
  9047.         dc.l    ID_Node1
  9048.         dc.b    0,0
  9049.         dc.l    ID_Name2
  9050. ID_Name2:
  9051.         dc.b    '   3 : JR       ',0
  9052.     CNOP 0,2
  9053. ID_Node3:
  9054.         dc.l    ID_Node4
  9055.         dc.l    ID_Node2
  9056.         dc.b    0,0
  9057.         dc.l    ID_Name3
  9058. ID_Name3:
  9059.         dc.b    '   4 : SA       ',0
  9060.     CNOP 0,2
  9061. ID_Node4:
  9062.         dc.l    ID_Node5
  9063.         dc.l    ID_Node3
  9064.         dc.b    0,0
  9065.         dc.l    ID_Name4
  9066. ID_Name4:
  9067.         dc.b    '   5 : SC       ',0
  9068.     CNOP 0,2
  9069. ID_Node5:
  9070.         dc.l    ID_Node6
  9071.         dc.l    ID_Node4
  9072.         dc.b    0,0
  9073.         dc.l    ID_Name5
  9074. ID_Name5:
  9075.         dc.b    '   6 : SF       ',0
  9076.     CNOP 0,2
  9077. ID_Node6:
  9078.         dc.l    ID_Node7
  9079.         dc.l    ID_Node5
  9080.         dc.b    0,0
  9081.         dc.l    ID_Name6
  9082. ID_Name6:
  9083.         dc.b    '   7 : SP       ',0
  9084.     CNOP 0,2
  9085. ID_Node7:
  9086.         dc.l    ID_Node8
  9087.         dc.l    ID_Node6
  9088.         dc.b    0,0
  9089.         dc.l    ID_Name7
  9090. ID_Name7:
  9091.         dc.b    '   8 : SQ       ',0
  9092.     CNOP 0,2
  9093. ID_Node8:
  9094.         dc.l    ID_Node9
  9095.         dc.l    ID_Node7
  9096.         dc.b    0,0
  9097.         dc.l    ID_Name8
  9098. ID_Name8:
  9099.         dc.b    '   9 : 1AM      ',0
  9100.     CNOP 0,2
  9101. ID_Node9:
  9102.         dc.l    ID_Node10
  9103.         dc.l    ID_Node8
  9104.         dc.b    0,0
  9105.         dc.l    ID_Name9
  9106. ID_Name9:
  9107.         dc.b    '  10 : 2AM      ',0
  9108.     CNOP 0,2
  9109. ID_Node10:
  9110.         dc.l    ID_Node11
  9111.         dc.l    ID_Node9
  9112.         dc.b    0,0
  9113.         dc.l    ID_Name10
  9114. ID_Name10:
  9115.         dc.b    '  11 : LOB      ',0
  9116.     CNOP 0,2
  9117. ID_Node11:
  9118.         dc.l    ID_Node12
  9119.         dc.l    ID_Node10
  9120.         dc.b    0,0
  9121.         dc.l    ID_Name11
  9122. ID_Name11:
  9123.         dc.b    '  12 : RLE      ',0
  9124.     CNOP 0,2
  9125. ID_Node12:
  9126.         dc.l    ID_Node13
  9127.         dc.l    ID_Node11
  9128.         dc.b    0,0
  9129.         dc.l    ID_Name12
  9130. ID_Name12:
  9131.         dc.b    '  13 : =SB=     ',0
  9132.     CNOP 0,2
  9133. ID_Node13:
  9134.         dc.l    ID_Node14
  9135.         dc.l    ID_Node12
  9136.         dc.b    0,0
  9137.         dc.l    ID_Name13
  9138. ID_Name13:
  9139.         dc.b    '  14 : $08090A08',0
  9140.     CNOP 0,2
  9141. ID_Node14
  9142.         dc.l    ID_Node15
  9143.         dc.l    ID_Node13
  9144.         dc.b    0,0
  9145.         dc.l    ID_Name14
  9146. ID_Name14
  9147.         dc.b    '  15 : $08090A0A',0
  9148.     CNOP 0,2
  9149. ID_Node15
  9150.         dc.l    ID_Node16
  9151.         dc.l    ID_Node14
  9152.         dc.b    0,0
  9153.         dc.l    ID_Name15
  9154. ID_Name15
  9155.         dc.b    '  16 : $08090A0B',0
  9156.     CNOP 0,2
  9157. ID_Node16
  9158.         dc.l    ID_Node17
  9159.         dc.l    ID_Node15
  9160.         dc.b    0,0
  9161.         dc.l    ID_Name16
  9162. ID_Name16
  9163.         dc.b    '  17 : $08090A0C',0
  9164.     CNOP 0,2
  9165. ID_Node17
  9166.         dc.l    ID_Node18
  9167.         dc.l    ID_Node16
  9168.         dc.b    0,0
  9169.         dc.l    ID_Name17
  9170. ID_Name17
  9171.         dc.b    '  18 : $08090A0D',0
  9172.     CNOP 0,2
  9173. ID_Node18
  9174.         dc.l    ID_Node19
  9175.         dc.l    ID_Node17
  9176.         dc.b    0,0
  9177.         dc.l    ID_Name18
  9178. ID_Name18
  9179.         dc.b    '  19 : $09090909',0
  9180.     CNOP 0,2
  9181. ID_Node19
  9182.         dc.l    ID_Node20
  9183.         dc.l    ID_Node18
  9184.         dc.b    0,0
  9185.         dc.l    ID_Name19
  9186. ID_Name19
  9187.         dc.b    '  20 : $090A0A0A',0
  9188.     CNOP 0,2
  9189. ID_Node20
  9190.         dc.l    ID_Node21
  9191.         dc.l    ID_Node19
  9192.         dc.b    0,0
  9193.         dc.l    ID_Name20
  9194. ID_Name20
  9195.         dc.b    '  21 : $090A0B0B',0
  9196.     CNOP 0,2
  9197. ID_Node21
  9198.         dc.l    ID_Node22
  9199.         dc.l    ID_Node20
  9200.         dc.b    0,0
  9201.         dc.l    ID_Name21
  9202. ID_Name21
  9203.         dc.b    '  22 : $090A0C0C',0
  9204.     CNOP 0,2
  9205. ID_Node22
  9206.         dc.l    ID_Node23
  9207.         dc.l    ID_Node21
  9208.         dc.b    0,0
  9209.         dc.l    ID_Name22
  9210. ID_Name22
  9211.         dc.b    '  23 : $090A0C0D',0
  9212.     CNOP 0,2
  9213. ID_Node23
  9214.         dc.l    ID_Node24
  9215.         dc.l    ID_Node22
  9216.         dc.b    0,0
  9217.         dc.l    ID_Name23
  9218. ID_Name23
  9219.         dc.b    '  24 : $18051973',0
  9220.     CNOP 0,2
  9221. ID_Node24
  9222.         dc.l    ID_Node25
  9223.         dc.l    ID_Node23
  9224.         dc.b    0,0
  9225.         dc.l    ID_Name24
  9226. ID_Name24
  9227.         dc.b    '  25 : 0815     ',0
  9228.     CNOP 0,2
  9229. ID_Node25
  9230.         dc.l    ID_Node26
  9231.         dc.l    ID_Node24
  9232.         dc.b    0,0
  9233.         dc.l    ID_Name25
  9234. ID_Name25
  9235.         dc.b    '  26 : !GC!     ',0
  9236.     CNOP 0,2
  9237. ID_Node26
  9238.         dc.l    ID_Node27
  9239.         dc.l    ID_Node25
  9240.         dc.b    0,0
  9241.         dc.l    ID_Name26
  9242. ID_Name26
  9243.         dc.b    '  27 : ACE!     ',0
  9244.     CNOP 0,2
  9245. ID_Node27
  9246.         dc.l    ID_Node28
  9247.         dc.l    ID_Node26
  9248.         dc.b    0,0
  9249.         dc.l    ID_Name27
  9250. ID_Name27
  9251.         dc.b    '  28 : ALC0     ',0
  9252.     CNOP 0,2
  9253. ID_Node28
  9254.         dc.l    ID_Node29
  9255.         dc.l    ID_Node27
  9256.         dc.b    0,0
  9257.         dc.l    ID_Name28
  9258. ID_Name28
  9259.         dc.b    '  29 : ARP3     ',0
  9260.     CNOP 0,2
  9261. ID_Node29
  9262.         dc.l    ID_Node30
  9263.         dc.l    ID_Node28
  9264.         dc.b    0,0
  9265.         dc.l    ID_Name29
  9266. ID_Name29
  9267.         dc.b    '  30 : ARPF     ',0
  9268.     CNOP 0,2
  9269. ID_Node30
  9270.         dc.l    ID_Node31
  9271.         dc.l    ID_Node29
  9272.         dc.b    0,0
  9273.         dc.l    ID_Name30
  9274. ID_Name30
  9275.         dc.b    '  31 : ATM5     ',0
  9276.     CNOP 0,2
  9277. ID_Node31
  9278.         dc.l    ID_Node32
  9279.         dc.l    ID_Node30
  9280.         dc.b    0,0
  9281.         dc.l    ID_Name31
  9282. ID_Name31
  9283.         dc.b    '  32 : ATN!     ',0
  9284.     CNOP 0,2
  9285. ID_Node32
  9286.         dc.l    ID_Node33
  9287.         dc.l    ID_Node31
  9288.         dc.b    0,0
  9289.         dc.l    ID_Name32
  9290. ID_Name32
  9291.         dc.b    '  33 : ATOM     ',0
  9292.     CNOP 0,2
  9293. ID_Node33
  9294.         dc.l    ID_Node34
  9295.         dc.l    ID_Node32
  9296.         dc.b    0,0
  9297.         dc.l    ID_Name33
  9298. ID_Name33
  9299.         dc.b    '  34 : Ace?     ',0
  9300.     CNOP 0,2
  9301. ID_Node34
  9302.         dc.l    ID_Node35
  9303.         dc.l    ID_Node33
  9304.         dc.b    0,0
  9305.         dc.l    ID_Name34
  9306. ID_Name34
  9307.         dc.b    '  35 : ArcD     ',0
  9308.     CNOP 0,2
  9309. ID_Node35
  9310.         dc.l    ID_Node36
  9311.         dc.l    ID_Node34
  9312.         dc.b    0,0
  9313.         dc.l    ID_Name35
  9314. ID_Name35
  9315.         dc.b    '  36 : ArcR     ',0
  9316.     CNOP 0,2
  9317. ID_Node36
  9318.         dc.l    ID_Node37
  9319.         dc.l    ID_Node35
  9320.         dc.b    0,0
  9321.         dc.l    ID_Name36
  9322. ID_Name36
  9323.         dc.b    '  37 : arcD     ',0
  9324.     CNOP 0,2
  9325. ID_Node37
  9326.         dc.l    ID_Node38
  9327.         dc.l    ID_Node36
  9328.         dc.b    0,0
  9329.         dc.l    ID_Name37
  9330. ID_Name37
  9331.         dc.b    '  38 : BDPI     ',0
  9332.     CNOP 0,2
  9333. ID_Node38
  9334.         dc.l    ID_Node39
  9335.         dc.l    ID_Node37
  9336.         dc.b    0,0
  9337.         dc.l    ID_Name38
  9338. ID_Name38
  9339.         dc.b    '  39 : BH72     ',0
  9340.     CNOP 0,2
  9341. ID_Node39
  9342.         dc.l    ID_Node39a
  9343.         dc.l    ID_Node38
  9344.         dc.b    0,0
  9345.         dc.l    ID_Name39
  9346. ID_Name39
  9347.         dc.b    '  40 : BH73     ',0
  9348.     CNOP 0,2
  9349. ID_Node39a
  9350.         dc.l    ID_Node40
  9351.         dc.l    ID_Node39
  9352.         dc.b    0,0
  9353.         dc.l    ID_Name39a
  9354. ID_Name39a
  9355.         dc.b    '  41 : BHC3     ',0
  9356.     CNOP 0,2
  9357. ID_Node40
  9358.         dc.l    ID_Node41
  9359.         dc.l    ID_Node39a
  9360.         dc.b    0,0
  9361.         dc.l    ID_Name40
  9362. ID_Name40
  9363.         dc.b    '  42 : BOND     ',0
  9364.     CNOP 0,2
  9365. ID_Node41
  9366.         dc.l    ID_Node42
  9367.         dc.l    ID_Node40
  9368.         dc.b    0,0
  9369.         dc.l    ID_Name41
  9370. ID_Name41
  9371.         dc.b    '  43 : CHFC     ',0
  9372.     CNOP 0,2
  9373. ID_Node42
  9374.         dc.l    ID_Node43
  9375.         dc.l    ID_Node41
  9376.         dc.b    0,0
  9377.         dc.l    ID_Name42
  9378. ID_Name42
  9379.         dc.b    '  44 : CHFI     ',0
  9380.     CNOP 0,2
  9381. ID_Node43
  9382.         dc.l    ID_Node44
  9383.         dc.l    ID_Node42
  9384.         dc.b    0,0
  9385.         dc.l    ID_Name43
  9386. ID_Name43
  9387.         dc.b    '  45 : CMP1     ',0
  9388.     CNOP 0,2
  9389. ID_Node44
  9390.         dc.l    ID_Node45
  9391.         dc.l    ID_Node43
  9392.         dc.b    0,0
  9393.         dc.l    ID_Name44
  9394. ID_Name44
  9395.         dc.b    '  46 : CrM!     ',0
  9396.     CNOP 0,2
  9397. ID_Node45
  9398.         dc.l    ID_Node46
  9399.         dc.l    ID_Node44
  9400.         dc.b    0,0
  9401.         dc.l    ID_Name45
  9402. ID_Name45
  9403.         dc.b    '  47 : CrM2     ',0
  9404.     CNOP 0,2
  9405. ID_Node46
  9406.         dc.l    ID_Node47
  9407.         dc.l    ID_Node45
  9408.         dc.b    0,0
  9409.         dc.l    ID_Name46
  9410. ID_Name46
  9411.         dc.b    '  48 : Crm!     ',0
  9412.     CNOP 0,2
  9413. ID_Node47
  9414.         dc.l    ID_Node48
  9415.         dc.l    ID_Node46
  9416.         dc.b    0,0
  9417.         dc.l    ID_Name47
  9418. ID_Name47
  9419.         dc.b    '  49 : Crm2     ',0
  9420.     CNOP 0,2
  9421. ID_Node48
  9422.         dc.l    ID_Node49
  9423.         dc.l    ID_Node47
  9424.         dc.b    0,0
  9425.         dc.l    ID_Name48
  9426. ID_Name48
  9427.         dc.b    '  50 : CRND     ',0
  9428.     CNOP 0,2
  9429. ID_Node49
  9430.         dc.l    ID_Node49a
  9431.         dc.l    ID_Node48
  9432.         dc.b    0,0
  9433.         dc.l    ID_Name49
  9434. ID_Name49
  9435.         dc.b    '  51 : CRUa     ',0
  9436.     CNOP 0,2
  9437. ID_Node49a
  9438.         dc.l    ID_Node50
  9439.         dc.l    ID_Node49
  9440.         dc.b    0,0
  9441.         dc.l    ID_Name49a
  9442. ID_Name49a
  9443.         dc.b    '  52 : CRUN     ',0
  9444.     CNOP 0,2
  9445. ID_Node50
  9446.         dc.l    ID_Node51
  9447.         dc.l    ID_Node49a
  9448.         dc.b    0,0
  9449.         dc.l    ID_Name50
  9450. ID_Name50
  9451.         dc.b    '  53 : CSFX     ',0
  9452.     CNOP 0,2
  9453. ID_Node51
  9454.         dc.l    ID_Node52
  9455.         dc.l    ID_Node50
  9456.         dc.b    0,0
  9457.         dc.l    ID_Name51
  9458. ID_Name51
  9459.         dc.b    '  54 : D815     ',0
  9460.     CNOP 0,2
  9461. ID_Node52
  9462.         dc.l    ID_Node53
  9463.         dc.l    ID_Node51
  9464.         dc.b    0,0
  9465.         dc.l    ID_Name52
  9466. ID_Name52
  9467.         dc.b    '  55 : DHp2     ',0
  9468.     CNOP 0,2
  9469. ID_Node53
  9470.         dc.l    ID_Node54
  9471.         dc.l    ID_Node52
  9472.         dc.b    0,0
  9473.         dc.l    ID_Name53
  9474. ID_Name53
  9475.         dc.b    '  56 : DOUG     ',0
  9476.     CNOP 0,2
  9477. ID_Node54
  9478.         dc.l    ID_Node55
  9479.         dc.l    ID_Node53
  9480.         dc.b    0,0
  9481.         dc.l    ID_Name54
  9482. ID_Name54
  9483.         dc.b    '  57 : Dtpk     ',0
  9484.     CNOP 0,2
  9485. ID_Node55
  9486.         dc.l    ID_Node56
  9487.         dc.l    ID_Node54
  9488.         dc.b    0,0
  9489.         dc.l    ID_Name55
  9490. ID_Name55
  9491.         dc.b    '  58 : Dupa     ',0
  9492.     CNOP 0,2
  9493. ID_Node56
  9494.         dc.l    ID_Node57
  9495.         dc.l    ID_Node55
  9496.         dc.b    0,0
  9497.         dc.l    ID_Name56
  9498. ID_Name56
  9499.         dc.b    '  59 : EDAM     ',0
  9500.     CNOP 0,2
  9501. ID_Node57
  9502.         dc.l    ID_Node58
  9503.         dc.l    ID_Node56
  9504.         dc.b    0,0
  9505.         dc.l    ID_Name57
  9506. ID_Name57
  9507.         dc.b    '  60 : ESL!     ',0
  9508.     CNOP 0,2
  9509. ID_Node58
  9510.         dc.l    ID_Node59
  9511.         dc.l    ID_Node57
  9512.         dc.b    0,0
  9513.         dc.l    ID_Name58
  9514. ID_Name58
  9515.         dc.b    '  61 : FB@@     ',0
  9516.     CNOP 0,2
  9517. ID_Node59
  9518.         dc.l    ID_Node60
  9519.         dc.l    ID_Node58
  9520.         dc.b    0,0
  9521.         dc.l    ID_Name59
  9522. ID_Name59
  9523.         dc.b    '  62 : FIRE     ',0
  9524.     CNOP 0,2
  9525. ID_Node60
  9526.         dc.l    ID_Node61
  9527.         dc.l    ID_Node59
  9528.         dc.b    0,0
  9529.         dc.l    ID_Name60
  9530. ID_Name60
  9531.         dc.b    '  63 : FLT!     ',0
  9532.     CNOP 0,2
  9533. ID_Node61
  9534.         dc.l    ID_Node62
  9535.         dc.l    ID_Node60
  9536.         dc.b    0,0
  9537.         dc.l    ID_Name61
  9538. ID_Name61
  9539.         dc.b    '  64 : FRED     ',0
  9540.     CNOP 0,2
  9541. ID_Node62
  9542.         dc.l    ID_Node63
  9543.         dc.l    ID_Node61
  9544.         dc.b    0,0
  9545.         dc.l    ID_Name62
  9546. ID_Name62
  9547.         dc.b    '  65 : GC!2     ',0
  9548.     CNOP 0,2
  9549. ID_Node63
  9550.         dc.l    ID_Node64
  9551.         dc.l    ID_Node62
  9552.         dc.b    0,0
  9553.         dc.l    ID_Name63
  9554. ID_Name63
  9555.         dc.b    '  66 : GC!3     ',0
  9556.     CNOP 0,2
  9557. ID_Node64
  9558.         dc.l    ID_Node65
  9559.         dc.l    ID_Node63
  9560.         dc.b    0,0
  9561.         dc.l    ID_Name64
  9562. ID_Name64
  9563.         dc.b    '  67 : GP11     ',0
  9564.     CNOP 0,2
  9565. ID_Node65
  9566.         dc.l    ID_Node66
  9567.         dc.l    ID_Node64
  9568.         dc.b    0,0
  9569.         dc.l    ID_Name65
  9570. ID_Name65
  9571.         dc.b    '  68 : HAL!     ',0
  9572.     CNOP 0,2
  9573. ID_Node66
  9574.         dc.l    ID_Node67
  9575.         dc.l    ID_Node65
  9576.         dc.b    0,0
  9577.         dc.l    ID_Name66
  9578. ID_Name66
  9579.         dc.b    '  69 : HUF#     ',0
  9580.     CNOP 0,2
  9581. ID_Node67
  9582.         dc.l    ID_Node68
  9583.         dc.l    ID_Node66
  9584.         dc.b    0,0
  9585.         dc.l    ID_Name67
  9586. ID_Name67
  9587.         dc.b    '  70 : ICE!     ',0
  9588.     CNOP 0,2
  9589. ID_Node68
  9590.         dc.l    ID_Node69
  9591.         dc.l    ID_Node67
  9592.         dc.b    0,0
  9593.         dc.l    ID_Name68
  9594. ID_Name68
  9595.         dc.b    '  71 : IFT?     ',0
  9596.     CNOP 0,2
  9597. ID_Node69
  9598.         dc.l    ID_Node70
  9599.         dc.l    ID_Node68
  9600.         dc.b    0,0
  9601.         dc.l    ID_Name69
  9602. ID_Name69
  9603.         dc.b    '  72 : IMP!     ',0
  9604.     CNOP 0,2
  9605. ID_Node70
  9606.         dc.l    ID_Node71
  9607.         dc.l    ID_Node69
  9608.         dc.b    0,0
  9609.         dc.l    ID_Name70
  9610. ID_Name70
  9611.         dc.b    '  73 : Ice!     ',0
  9612.     CNOP 0,2
  9613. ID_Node71
  9614.         dc.l    ID_Node72
  9615.         dc.l    ID_Node70
  9616.         dc.b    0,0
  9617.         dc.l    ID_Name71
  9618. ID_Name71
  9619.         dc.b    '  74 : KDUB     ',0
  9620.     CNOP 0,2
  9621. ID_Node72
  9622.         dc.l    ID_Node73
  9623.         dc.l    ID_Node71
  9624.         dc.b    0,0
  9625.         dc.l    ID_Name72
  9626. ID_Name72
  9627.         dc.b    '  75 : LR88     ',0
  9628.     CNOP 0,2
  9629. ID_Node73
  9630.         dc.l    ID_Node74
  9631.         dc.l    ID_Node72
  9632.         dc.b    0,0
  9633.         dc.l    ID_Name73
  9634. ID_Name73
  9635.         dc.b    '  76 : LSD!     ',0
  9636.     CNOP 0,2
  9637. ID_Node74
  9638.         dc.l    ID_Node75
  9639.         dc.l    ID_Node73
  9640.         dc.b    0,0
  9641.         dc.l    ID_Name74
  9642. ID_Name74:
  9643.         dc.b    '  77 : LZDA     ',0
  9644.     CNOP 0,2
  9645. ID_Node75
  9646.         dc.l    ID_Node76
  9647.         dc.l    ID_Node74
  9648.         dc.b    0,0
  9649.         dc.l    ID_Name75
  9650. ID_Name75
  9651.         dc.b    '  78 : LZSS     ',0
  9652.     CNOP 0,2
  9653. ID_Node76
  9654.         dc.l    ID_Node77
  9655.         dc.l    ID_Node75
  9656.         dc.b    0,0
  9657.         dc.l    ID_Name76
  9658. ID_Name76
  9659.         dc.b    '  79 : LZWH     ',0
  9660.     CNOP 0,2
  9661. ID_Node77
  9662.         dc.l    ID_Node78
  9663.         dc.l    ID_Node76
  9664.         dc.b    0,0
  9665.         dc.l    ID_Name77
  9666. ID_Name77
  9667.         dc.b    '  80 : LeCr     ',0
  9668.     CNOP 0,2
  9669. ID_Node78
  9670.         dc.l    ID_Node79
  9671.         dc.l    ID_Node77
  9672.         dc.b    0,0
  9673.         dc.l    ID_Name78
  9674. ID_Name78
  9675.         dc.b    '  81 : MASM     ',0
  9676.     CNOP 0,2
  9677. ID_Node79
  9678.         dc.l    ID_Node80
  9679.         dc.l    ID_Node78
  9680.         dc.b    0,0
  9681.         dc.l    ID_Name79
  9682. ID_Name79
  9683.         dc.b    '  82 : MASS     ',0
  9684.     CNOP 0,2
  9685. ID_Node80
  9686.         dc.l    ID_Node81
  9687.         dc.l    ID_Node79
  9688.         dc.b    0,0
  9689.         dc.l    ID_Name80
  9690. ID_Name80
  9691.         dc.b    '  83 : MD12     ',0
  9692.     CNOP 0,2
  9693. ID_Node81
  9694.         dc.l    ID_Node82
  9695.         dc.l    ID_Node80
  9696.         dc.b    0,0
  9697.         dc.l    ID_Name81
  9698. ID_Name81
  9699.         dc.b    '  84 : MICK     ',0
  9700.     CNOP 0,2
  9701. ID_Node82
  9702.         dc.l    ID_Node83
  9703.         dc.l    ID_Node81
  9704.         dc.b    0,0
  9705.         dc.l    ID_Name82
  9706. ID_Name82
  9707.         dc.b    '  85 : MTP1     ',0
  9708.     CNOP 0,2
  9709. ID_Node83
  9710.         dc.l    ID_Node84
  9711.         dc.l    ID_Node82
  9712.         dc.b    0,0
  9713.         dc.l    ID_Name83
  9714. ID_Name83
  9715.         dc.b    '  86 : MTPS     ',0
  9716.     CNOP 0,2
  9717. ID_Node84
  9718.         dc.l    ID_Node85
  9719.         dc.l    ID_Node83
  9720.         dc.b    0,0
  9721.         dc.l    ID_Name84
  9722. ID_Name84
  9723.         dc.b    '  87 : MWC1     ',0
  9724.     CNOP 0,2
  9725. ID_Node85
  9726.         dc.l    ID_Node86
  9727.         dc.l    ID_Node84
  9728.         dc.b    0,0
  9729.         dc.l    ID_Name85
  9730. ID_Name85
  9731.         dc.b    '  88 : PAC1     ',0
  9732.     CNOP 0,2
  9733. ID_Node86
  9734.         dc.l    ID_Node87
  9735.         dc.l    ID_Node85
  9736.         dc.b    0,0
  9737.         dc.l    ID_Name86
  9738. ID_Name86
  9739.         dc.b    '  89 : PACKV1.2 ',0
  9740.     CNOP 0,2
  9741. ID_Node87
  9742.         dc.l    ID_Node88
  9743.         dc.l    ID_Node86
  9744.         dc.b    0,0
  9745.         dc.l    ID_Name87
  9746. ID_Name87
  9747.         dc.b    '  90 : PARA     ',0
  9748.     CNOP 0,2
  9749. ID_Node88
  9750.         dc.l    ID_Node89
  9751.         dc.l    ID_Node87
  9752.         dc.b    0,0
  9753.         dc.l    ID_Name88
  9754. ID_Name88
  9755.         dc.b    '  91 : PP20     ',0
  9756.     CNOP 0,2
  9757. ID_Node89
  9758.         dc.l    ID_Node90
  9759.         dc.l    ID_Node88
  9760.         dc.b    0,0
  9761.         dc.l    ID_Name89
  9762. ID_Name89
  9763.         dc.b    '  92 : PaCK     ',0
  9764.     CNOP 0,2
  9765. ID_Node90
  9766.         dc.l    ID_Node91
  9767.         dc.l    ID_Node89
  9768.         dc.b    0,0
  9769.         dc.l    ID_Name90
  9770. ID_Name90
  9771.         dc.b    '  93 : PaK0     ',0
  9772.     CNOP 0,2
  9773. ID_Node91
  9774.         dc.l    ID_Node92
  9775.         dc.l    ID_Node90
  9776.         dc.b    0,0
  9777.         dc.l    ID_Name91
  9778. ID_Name91
  9779.         dc.b    '  94 : pack     ',0
  9780.     CNOP 0,2
  9781. ID_Node92
  9782.         dc.l    ID_Node93
  9783.         dc.l    ID_Node91
  9784.         dc.b    0,0
  9785.         dc.l    ID_Name92
  9786. ID_Name92
  9787.         dc.b    '  95 : RNC0     ',0
  9788.     CNOP 0,2
  9789. ID_Node93
  9790.         dc.l    ID_Node94
  9791.         dc.l    ID_Node92
  9792.         dc.b    0,0
  9793.         dc.l    ID_Name93
  9794. ID_Name93
  9795.         dc.b    '  96 : RNC1     ',0
  9796.     CNOP 0,2
  9797. ID_Node94
  9798.         dc.l    ID_Node95
  9799.         dc.l    ID_Node93
  9800.         dc.b    0,0
  9801.         dc.l    ID_Name94
  9802. ID_Name94
  9803.         dc.b    '  97 : RNC2     ',0
  9804.     CNOP 0,2
  9805. ID_Node95
  9806.         dc.l    ID_Node96
  9807.         dc.l    ID_Node94
  9808.         dc.b    0,0
  9809.         dc.l    ID_Name95
  9810. ID_Name95
  9811.         dc.b    '  98 : S300     ',0
  9812.     CNOP 0,2
  9813. ID_Node96
  9814.         dc.l    ID_Node97
  9815.         dc.l    ID_Node95
  9816.         dc.b    0,0
  9817.         dc.l    ID_Name96
  9818. ID_Name96
  9819.         dc.b    '  99 : S310     ',0
  9820.     CNOP 0,2
  9821. ID_Node97
  9822.         dc.l    ID_Node98
  9823.         dc.l    ID_Node96
  9824.         dc.b    0,0
  9825.         dc.l    ID_Name97
  9826. ID_Name97
  9827.         dc.b    ' 100 : S400     ',0
  9828.     CNOP 0,2
  9829. ID_Node98
  9830.         dc.l    ID_Node99
  9831.         dc.l    ID_Node97
  9832.         dc.b    0,0
  9833.         dc.l    ID_Name98
  9834. ID_Name98
  9835.         dc.b    ' 101 : S401     ',0
  9836.     CNOP 0,2
  9837. ID_Node99
  9838.         dc.l    ID_Node100
  9839.         dc.l    ID_Node98
  9840.         dc.b    0,0
  9841.         dc.l    ID_Name99
  9842. ID_Name99
  9843.         dc.b    ' 102 : S403     ',0
  9844.     CNOP 0,2
  9845. ID_Node100
  9846.         dc.l    ID_Node101
  9847.         dc.l    ID_Node99
  9848.         dc.b    0,0
  9849.         dc.l    ID_Name100
  9850. ID_Name100
  9851.         dc.b    ' 103 : S404     ',0
  9852.     CNOP 0,2
  9853. ID_Node101
  9854.         dc.l    ID_Node102
  9855.         dc.l    ID_Node100
  9856.         dc.b    0,0
  9857.         dc.l    ID_Name101
  9858. ID_Name101
  9859.         dc.b    ' 104 : SFCD     ',0
  9860.     CNOP 0,2
  9861. ID_Node102
  9862.         dc.l    ID_Node103
  9863.         dc.l    ID_Node101
  9864.         dc.b    0,0
  9865.         dc.l    ID_Name102
  9866. ID_Name102
  9867.         dc.b    ' 105 : SFHD     ',0
  9868.     CNOP 0,2
  9869. ID_Node103
  9870.         dc.l    ID_Node104
  9871.         dc.l    ID_Node102
  9872.         dc.b    0,0
  9873.         dc.l    ID_Name103
  9874. ID_Name103
  9875.         dc.b    ' 106 : SLAM     ',0
  9876.     CNOP 0,2
  9877. ID_Node104
  9878.         dc.l    ID_Node105
  9879.         dc.l    ID_Node103
  9880.         dc.b    0,0
  9881.         dc.l    ID_Name104
  9882. ID_Name104
  9883.         dc.b    ' 107 : SPv3     ',0
  9884.     CNOP 0,2
  9885. ID_Node105
  9886.         dc.l    ID_Node106
  9887.         dc.l    ID_Node104
  9888.         dc.b    0,0
  9889.         dc.l    ID_Name105
  9890. ID_Name105
  9891.         dc.b    ' 108 : SSUR     ',0
  9892.     CNOP 0,2
  9893. ID_Node106
  9894.         dc.l    ID_Node107
  9895.         dc.l    ID_Node105
  9896.         dc.b    0,0
  9897.         dc.l    ID_Name106
  9898. ID_Name106
  9899.         dc.b    ' 109 : TITS     ',0
  9900.     CNOP 0,2
  9901. ID_Node107
  9902.         dc.l    ID_Node108
  9903.         dc.l    ID_Node106
  9904.         dc.b    0,0
  9905.         dc.l    ID_Name107
  9906. ID_Name107
  9907.         dc.b    ' 110 : TPWM     ',0
  9908.     CNOP 0,2
  9909. ID_Node108
  9910.         dc.l    ID_Node109
  9911.         dc.l    ID_Node107
  9912.         dc.b    0,0
  9913.         dc.l    ID_Name108
  9914. ID_Name108
  9915.         dc.b    ' 111 : TSM!     ',0
  9916.     CNOP 0,2
  9917. ID_Node109
  9918.         dc.l    ID_Node110
  9919.         dc.l    ID_Node108
  9920.         dc.b    0,0
  9921.         dc.l    ID_Name109
  9922. ID_Name109
  9923.         dc.b    ' 112 : Taz!     ',0
  9924.     CNOP 0,2
  9925. ID_Node110
  9926.         dc.l    ID_Node111
  9927.         dc.l    ID_Node109
  9928.         dc.b    0,0
  9929.         dc.l    ID_Name110
  9930. ID_Name110
  9931.         dc.b    ' 113 : VDCO     ',0
  9932.     CNOP 0,2
  9933. ID_Node111
  9934.         dc.l    ID_Node112
  9935.         dc.l    ID_Node110
  9936.         dc.b    0,0
  9937.         dc.l    ID_Name111
  9938. ID_Name111
  9939.         dc.b    ' 114 : VOL1     ',0
  9940.     CNOP 0,2
  9941. ID_Node112
  9942.         dc.l    ID_Node113
  9943.         dc.l    ID_Node111
  9944.         dc.b    0,0
  9945.         dc.l    ID_Name112
  9946. ID_Name112
  9947.         dc.b    ' 115 : ViS1     ',0
  9948.     CNOP 0,2
  9949. ID_Node113
  9950.         dc.l    ID_Node114
  9951.         dc.l    ID_Node112
  9952.         dc.b    0,0
  9953.         dc.l    ID_Name113
  9954. ID_Name113
  9955.         dc.b    ' 116 : ViSL     ',0
  9956.     CNOP 0,2
  9957. ID_Node114
  9958.         dc.l    ID_Node115
  9959.         dc.l    ID_Node113
  9960.         dc.b    0,0
  9961.         dc.l    ID_Name114
  9962. ID_Name114
  9963.         dc.b    ' 117 : Vic2     ',0
  9964.     CNOP 0,2
  9965. ID_Node115
  9966.         dc.l    ID_Node116
  9967.         dc.l    ID_Node114
  9968.         dc.b    0,0
  9969.         dc.l    ID_Name115
  9970. ID_Name115
  9971.         dc.b    ' 118 : WJSD     ',0
  9972.     CNOP 0,2
  9973. ID_Node116
  9974.         dc.l    ID_Node117
  9975.         dc.l    ID_Node115
  9976.         dc.b    0,0
  9977.         dc.l    ID_Name116
  9978. ID_Name116
  9979.         dc.b    ' 119 : XP10     ',0
  9980.     CNOP 0,2
  9981. ID_Node117
  9982.         dc.l    ID_Node118
  9983.         dc.l    ID_Node116
  9984.         dc.b    0,0
  9985.         dc.l    ID_Name117
  9986. ID_Name117
  9987.         dc.b    ' 120 : XPKF     ',0
  9988.     CNOP 0,2
  9989. ID_Node118
  9990.         dc.l    ID_Node119
  9991.         dc.l    ID_Node117
  9992.         dc.b    0,0
  9993.         dc.l    ID_Name118
  9994. ID_Name118
  9995.         dc.b    ' 121 : XPKZ     ',0
  9996.     CNOP 0,2
  9997. ID_Node119
  9998.         dc.l    ID_Node120
  9999.         dc.l    ID_Node118
  10000.         dc.b    0,0
  10001.         dc.l    ID_Name119
  10002. ID_Name119
  10003.         dc.b    ' 122 : XX50     ',0
  10004.     CNOP 0,2
  10005. ID_Node120
  10006.         dc.l    ID_Node121
  10007.         dc.l    ID_Node119
  10008.         dc.b    0,0
  10009.         dc.l    ID_Name120
  10010. ID_Name120
  10011.         dc.b    ' 123 : xVdg     ',0
  10012.     CNOP 0,2
  10013. ID_Node121
  10014.         dc.l    ID_List+4
  10015.         dc.l    ID_Node120
  10016.         dc.b    0,0
  10017.         dc.l    ID_Name121
  10018. ID_Name121
  10019.         dc.b    ' 124 : xXxX     ',0
  10020.     CNOP 0,2
  10021.  
  10022. ***************************************************************************
  10023.  
  10024. EnableID:
  10025.         dc.l    ID_Name0
  10026.         dc.l    ID_Name1
  10027.         dc.l    ID_Name2
  10028.         dc.l    ID_Name3
  10029.         dc.l    ID_Name4
  10030.         dc.l    ID_Name5
  10031.         dc.l    ID_Name6
  10032.         dc.l    ID_Name7
  10033.         dc.l    ID_Name8
  10034.         dc.l    ID_Name9
  10035.         dc.l    ID_Name10
  10036.         dc.l    ID_Name11
  10037.         dc.l    ID_Name12
  10038.         dc.l    ID_Name13
  10039.         dc.l    ID_Name14
  10040.         dc.l    ID_Name15
  10041.         dc.l    ID_Name16
  10042.         dc.l    ID_Name17
  10043.         dc.l    ID_Name18
  10044.         dc.l    ID_Name19
  10045.         dc.l    ID_Name20
  10046.         dc.l    ID_Name21
  10047.         dc.l    ID_Name22
  10048.         dc.l    ID_Name23
  10049.         dc.l    ID_Name24
  10050.         dc.l    ID_Name25
  10051.         dc.l    ID_Name26
  10052.         dc.l    ID_Name27
  10053.         dc.l    ID_Name28
  10054.         dc.l    ID_Name29
  10055.         dc.l    ID_Name30
  10056.         dc.l    ID_Name31
  10057.         dc.l    ID_Name32
  10058.         dc.l    ID_Name33
  10059.         dc.l    ID_Name34
  10060.         dc.l    ID_Name35
  10061.         dc.l    ID_Name36
  10062.         dc.l    ID_Name37
  10063.         dc.l    ID_Name38
  10064.         dc.l    ID_Name39
  10065.         dc.l    ID_Name39a
  10066.         dc.l    ID_Name40
  10067.         dc.l    ID_Name41
  10068.         dc.l    ID_Name42
  10069.         dc.l    ID_Name43
  10070.         dc.l    ID_Name44
  10071.         dc.l    ID_Name45
  10072.         dc.l    ID_Name46
  10073.         dc.l    ID_Name47
  10074.         dc.l    ID_Name48
  10075.         dc.l    ID_Name49
  10076.         dc.l    ID_Name49a
  10077.         dc.l    ID_Name50
  10078.         dc.l    ID_Name51
  10079.         dc.l    ID_Name52
  10080.         dc.l    ID_Name53
  10081.         dc.l    ID_Name54
  10082.         dc.l    ID_Name55
  10083.         dc.l    ID_Name56
  10084.         dc.l    ID_Name57
  10085.         dc.l    ID_Name58
  10086.         dc.l    ID_Name59
  10087.         dc.l    ID_Name60
  10088.         dc.l    ID_Name61
  10089.         dc.l    ID_Name62
  10090.         dc.l    ID_Name63
  10091.         dc.l    ID_Name64
  10092.         dc.l    ID_Name65
  10093.         dc.l    ID_Name66
  10094.         dc.l    ID_Name67
  10095.         dc.l    ID_Name68
  10096.         dc.l    ID_Name69
  10097.         dc.l    ID_Name70
  10098.         dc.l    ID_Name71
  10099.         dc.l    ID_Name72
  10100.         dc.l    ID_Name73
  10101.         dc.l    ID_Name74
  10102.         dc.l    ID_Name75
  10103.         dc.l    ID_Name76
  10104.         dc.l    ID_Name77
  10105.         dc.l    ID_Name78
  10106.         dc.l    ID_Name79
  10107.         dc.l    ID_Name80
  10108.         dc.l    ID_Name81
  10109.         dc.l    ID_Name82
  10110.         dc.l    ID_Name83
  10111.         dc.l    ID_Name84
  10112.         dc.l    ID_Name85
  10113.         dc.l    ID_Name86
  10114.         dc.l    ID_Name87
  10115.         dc.l    ID_Name88
  10116.         dc.l    ID_Name89
  10117.         dc.l    ID_Name90
  10118.         dc.l    ID_Name91
  10119.         dc.l    ID_Name92
  10120.         dc.l    ID_Name93
  10121.         dc.l    ID_Name94
  10122.         dc.l    ID_Name95
  10123.         dc.l    ID_Name96
  10124.         dc.l    ID_Name97
  10125.         dc.l    ID_Name98
  10126.         dc.l    ID_Name99
  10127.         dc.l    ID_Name100
  10128.         dc.l    ID_Name101
  10129.         dc.l    ID_Name102
  10130.         dc.l    ID_Name103
  10131.         dc.l    ID_Name104
  10132.         dc.l    ID_Name105
  10133.         dc.l    ID_Name106
  10134.         dc.l    ID_Name107
  10135.         dc.l    ID_Name108
  10136.         dc.l    ID_Name109
  10137.         dc.l    ID_Name110
  10138.         dc.l    ID_Name111
  10139.         dc.l    ID_Name112
  10140.         dc.l    ID_Name113
  10141.         dc.l    ID_Name114
  10142.         dc.l    ID_Name115
  10143.         dc.l    ID_Name116
  10144.         dc.l    ID_Name117
  10145.         dc.l    ID_Name118
  10146.         dc.l    ID_Name119
  10147.         dc.l    ID_Name120
  10148.         dc.l    ID_Name121
  10149.         dc.l    0
  10150.  
  10151. ***************************************************************************
  10152.  
  10153. PutChData:    ds.b    100
  10154. DiskIO:        ds.l    20
  10155. DiskRep:    ds.l    8
  10156. FileNameL:    ds.b    108
  10157. FullNameL:    ds.b    256
  10158. FileNameS:    ds.b    108
  10159. FullNameS:    ds.b    256
  10160.     CNOP 0,4
  10161. Bufor:        ds.b    260
  10162.